Xbasic
json_to_xml Function
IN THIS PAGE
Syntax
c xml = json_to_xml(json as C [, attribute as C [, format as C ]])
Arguments
- jsonCharacter
- attributeCharacter
- formatCharacter
Format to use when generating the XML.
Description
json_to_xml Function - Convert JSON to XML - Takes a string of JSON data and converts it to XML. json_to_xml Function - ATOM Format - The json_to_xml function can now generate XML using the "atom" format:
Example
dim json as c
json = <<%txt%
{ "firstname" : "john" ,
"lastname" : "public" ,
"num" : [1,2,3] ,
"flag" : true ,
"place" : { "state" : "Texas"} }
%txt%
dim xml as c
xml = json_to_xml(json, "person")
showvar(xml)The resulting XML string looks like this:
<?xml version="1.0" encoding="UTF-8"?>
<person>
<firstname>john</firstname>
<lastname>public</lastname>
<num>1</num>
<num>2</num>
<num>3</num>
<flag>true</flag>
<place>
<state>Texas</state>
</place>
</person>Formatting XML in ATOM Format
XML can also be formatted by specifying an optional third parameter, format. Consider the following example:
js = <<%str%
{
"OrderId":10248,
"ProductID":11,
"UnitPrice":14,
"Quantity":12,
"Discount":0
}
%str%
dim xml as c
xml = json_to_xml(js)
showvar(xml)This generates xml using the default encoding:
<?xml version="1.0" encoding="UTF-8"?> <data> <OrderId>10248</OrderId> <ProductID>11</ProductID> <UnitPrice>14</UnitPrice> <Quantity>12</Quantity> <Discount>0</Discount> </data>
To convert the JSON to xml using the atom format, the format is defined and passed into the json_to_xml function:
dim format as c
format = <<%str%
{ "format" : "atom"}
%str%
dim xml as c = json_to_xml(js,"",format)
showvar(xml)The resulting XML is in Atom format:
<?xml version="1.0" encoding="UTF-8"?>
<atom:entry xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"
xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices">
<atom:content type="application/xml">
<m:properties>
<d:OrderId>10248</d:OrderId>
<d:ProductID>11</d:ProductID>
<d:UnitPrice>14</d:UnitPrice>
<d:Quantity>12</d:Quantity>
<d:Discount>0</d:Discount>
</m:properties>
</atom:content>
</atom:entry>Here is another example that demonstrates generating xml using the Atom format:
js = <<%str%
{
"OrderId":10248,
"ProductID":11,
"UnitPrice":14,
"Quantity":12,
"Discount":0
}
%str%
dim xml as c
xml = json_to_xml(js)
? xml
= <?xml version="1.0" encoding="UTF-8"?>
<data>
<OrderId>10248</OrderId>
<ProductID>11</ProductID>
<UnitPrice>14</UnitPrice>
<Quantity>12</Quantity>
<Discount>0</Discount>
</data>
dim format as c
format = <<%str%
{ "format" : "atom"}
%str%
dim xml as c = json_to_xml(js,"",format)
?xml
= <?xml version="1.0" encoding="UTF-8"?>
<atom:entry xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"
xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices">
<atom:content type="application/xml">
<m:properties>
<d:OrderId>10248</d:OrderId>
<d:ProductID>11</d:ProductID>
<d:UnitPrice>14</d:UnitPrice>
<d:Quantity>12</d:Quantity>
<d:Discount>0</d:Discount>
</m:properties>
</atom:content>
</atom:entry>See Also