Tools, FAQ, Tutorials:
Mapping JSON Values to XML Elements
What is the standard to map JSON values to XML elements?
✍: FYIcenter.com
There seems to be no industry standard on how to map JSON values to XML elements.
But there are some commonly used conventions:
1. Automatically adding a root element with "root" or "document" as the element tag. For example:
JSON:
{
"a": 1,
"b": 2
}
XML:
<root>
<a>1</a>
<b>2</b>
</root>
2. JSON String and Boolean values are converted to XML text content as is. For example:
JSON:
{
"a": "20.20",
"b": true
}
XML:
<root>
<a>20.20</a>
<b>true</b>
</root>
3. JSON Number values are normalized first and then converted to XML text contents. For example:
JSON:
{
"a": 20.0200,
"b": 0.314159e01
}
XML:
<root>
<a>20.02</a>
<b>3.14159</b>
</root>
4. JSON Null values are converted to empty XML text contents. For example:
JSON:
{
"a": null
}
XML:
<root>
<a/>
</root>
5. JSON Array values are converted to a sequence of XML sub elements with "element" at the tag. For example:
JSON:
[
2,
4,
8
]
XML:
<root>
<element>2</element>
<element>4</element>
<element>8</element>
</root>
6. JSON Object values are converted to a sequence of XML sub elements with their property names as element tags. Any illegal characters in XML tag names are placed with "_". XML tag names will be prefixed with "_" if they start with numeric characters. For example:
JSON:
{
"a": null,
"x+y": "X plus Y",
"x-y": "X minus Y",
"007": "Double O Seven",
"fyi.pi": 0.314159e01,
"fyi:pi": 0.314159e01,
"fyi_pi": "0.314159e01",
"fyi>pi": "31.4159e-1",
"error msg": "Something wrong!"
}
XML:
<root>
<a/>
<x_y>X plus Y</x_y>
<x-y>X minus Y</x-y>
<_007>Double O Seven</_007>
<fyi.pi>3.14159</fyi.pi>
<fyi_pi>3.14159</fyi_pi>
<fyi_pi>0.314159e01</fyi_pi>
<fyi_pi>31.4159e-1</fyi_pi>
<error_msg>Something wrong!</error_msg>
</root>
2023-07-11, ∼2790🔥, 0💬
Popular Posts:
How to build a test service operation to dump everything from the "context.Request" object in the re...
How to make application release build with Visual Studio 2017? If you want to make a final release b...
How to use urllib.parse.urlencode() function to encode HTTP POST data? My form data has special char...
How to read RSS validation errors at w3.org? If your RSS feed has errors, the RSS validator at w3.or...
How to use 'choose ... when ..." policy statements to control execution flows? If you want to contro...