Algo me molesta. He usado JSON en algunas de mis aplicaciones/sitios web, ¡a todos nos encanta! Sin embargo algo entrado en mi cabeza hoy que nunca he pensado .. echar un vistazo al siguiente ejemplo (esto es tomado de http://json.org/example.html):Comprender la estructura JSON - atributos y valores
{"widget": {
"debug": "on",
"window": {
"title": "Sample Konfabulator Widget",
"name": "main_window",
"width": 500,
"height": 500
},
"image": {
"src": "Images/Sun.png",
"name": "sun1",
"hOffset": 250,
"vOffset": 250,
"alignment": "center"
},
"text": {
"data": "Click Here",
"size": 36,
"style": "bold",
"name": "text1",
"hOffset": 250,
"vOffset": 100,
"alignment": "center",
"onMouseUp": "sun1.opacity = (sun1.opacity/100) * 90;"
}
}}
ahora si este se expresa como XML: tendríamos la siguiente :
<widget>
<debug>on</debug>
<window title="Sample Konfabulator Widget">
<name>main_window</name>
<width>500</width>
<height>500</height>
</window>
<image src="Images/Sun.png" name="sun1">
<hOffset>250</hOffset>
<vOffset>250</vOffset>
<alignment>center</alignment>
</image>
<text data="Click Here" size="36" style="bold">
<name>text1</name>
<hOffset>250</hOffset>
<vOffset>100</vOffset>
<alignment>center</alignment>
<onMouseUp>
sun1.opacity = (sun1.opacity/100) * 90;
</onMouseUp>
</text>
</widget>
al mirar a la transformación de XML JSON me pregunto si es que hay alguna manera de que se puede distinguir si un par ("clave": "valor") son un atributo de una etiqueta. Por ejemplo, en nuestra JSON anterior
"window": {
"title": "Sample Konfabulator Widget",
"name": "main_window",
título se representa como un atributo de la etiqueta de la ventana, mientras que el nombre es una etiqueta en su propio derecho, sin embargo, esto no se expresa en cualquier lugar (que puedo ver).
<window title="Sample Konfabulator Widget">
<name>main_window</name>
¿Por qué no se muestra como esta:
<window>
<title>Sample Konfabulator Widget</title>
<name>main_window</name>
Es su manera puedo especificar si un par son un atributo de la etiqueta padre o una etiqueta de niño en su propio derecho? Lo siento si mi redacción es mala o si no me estoy explicando bien.
¿Tiene un esquema XML o algo así? Ni XML ni JSON asignan ningún significado semántico a sus datos. –
La convención más común que vi en muchos transformadores xml-to-json es obtener los atributos comenzando con un @ en el json. eg: '{" window ": {" @title ": ...' – Mic
@Mic - Es una buena manera de hacerlo. Nunca lo había visto antes, pero tu explicación de una oración deja en claro cómo funcionaría. – nnnnnn