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, ∼2614🔥, 0💬
Popular Posts:
Can You Add Values to an Array without Keys in PHP? Can You Add Values to an Array with a Key? The a...
How to extend json.JSONEncoder class? I want to encode other Python data types to JSON. If you encod...
How to start Visual Studio Command Prompt? I have Visual Studio 2017 Community version with Visual C...
What are the differences of Differences of evaluateTransaction() and submitTransaction() of the fabr...
How to validate the id_token signature received from Azure AD v2.0 authentication response? You can ...