JSON — json-lib ——— XML与json互转 实例代码片断(二)

Snippets 

From XML to JSON

  1. XML to JSONObject

From JSON to XML

JSONObject to XML

  1. String str = "{'name':'JSON','integer':1,'double':2.0,'boolean':true,'nested':{'id':42},'array':[1,2,3]}";   
  2. JSON json = JSONSerializer.toJSON( str );   
  3. XMLSerializer xmlSerializer = new XMLSerializer();   
  4. String xml = xmlSerializer.write( json );   
  5. System.out.println(xml);   
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <o>  
  3.    <boolean type="boolean">true</boolean>  
  4.    <double type="number">2.0</double>  
  5.    <integer type="number">1</integer>  
  6.    <name type="string">JSON</name>  
  7.    <nested class="object">  
  8.       <id type="number">42</id>  
  9.    </nested>  
  10.    <array class="array">  
  11.       <e type="number">1</e>  
  12.       <e type="number">2</e>  
  13.       <e type="number">3</e>  
  14.    </array>  
  15. </o>  
[ Index| From JSON to XML]

JSONObject to XML (no type hints)

  1. String str = "{'name':'JSON','integer':1,'double':2.0,'boolean':true,'nested':{'id':42},'array':[1,2,3]}";   
  2. JSON json = JSONSerializer.toJSON( str );   
  3. XMLSerializer xmlSerializer = new XMLSerializer();   
  4. xmlSerializer.setTypeHintsEnabled( false );   
  5. String xml = xmlSerializer.write( json );   
  6. System.out.println(xml);   
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <o>  
  3.    <boolean>true</boolean>  
  4.    <double>2.0</double>  
  5.    <integer>1</integer>  
  6.    <name>JSON</name>  
  7.    <nested>  
  8.       <id>42</id>  
  9.    </nested>  
  10.    <array>  
  11.       <e>1</e>  
  12.       <e>2</e>  
  13.       <e>3</e>  
  14.    </nested>  
  15. </o>  
[ Index| From JSON to XML]

JSONObject to XML (with json prefix)

  1. String str = "{'name':'JSON','integer':1,'double':2.0,'boolean':true,'nested':{'id':42},'array':[1,2,3]}";   
  2. JSON json = JSONSerializer.toJSON( str );   
  3. XMLSerializer xmlSerializer = new XMLSerializer();   
  4. xmlSerializer.setTypeHintsCompatibility( false );   
  5. String xml = xmlSerializer.write( json );   
  6. System.out.println(xml);   
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <o>  
  3.    <boolean json_type="boolean">true</boolean>  
  4.    <double json_type="number">2.0</double>  
  5.    <integer json_type="number">1</integer>  
  6.    <name json_type="string">JSON</name>  
  7.    <nested json_class="object">  
  8.       <id json_type="number">42</id>  
  9.    </nested>  
  10.    <array json_class="array">  
  11.       <e json_type="number">1</e>  
  12.       <e json_type="number">2</e>  
  13.       <e json_type="number">3</e>  
  14.    </array>  
  15. </o>  
[ Index| From JSON to XML]

JSONObject to XML (change node names)

  1. String str = "{'name':'JSON','integer':1,'double':2.0,'boolean':true,'nested':{'id':42},'array':[1,2,3]}";   
  2. JSON json = JSONSerializer.toJSON( str );   
  3. XMLSerializer xmlSerializer = new XMLSerializer();   
  4. xmlSerializer.setRootName( "root" );   
  5. xmlSerializer.setElementName( "element" );   
  6. String xml = xmlSerializer.write( json );   
  7. System.out.println(xml);   
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <root>  
  3.    <boolean type="boolean">true</boolean>  
  4.    <double type="number">2.0</double>  
  5.    <integer type="number">1</integer>  
  6.    <name type="string">JSON</name>  
  7.    <nested class="object">  
  8.       <id type="number">42</id>  
  9.    </nested>  
  10.    <array class="array">  
  11.       <element type="number">1</e>  
  12.       <element type="number">2</e>  
  13.       <element type="number">3</e>  
  14.    </array>  
  15. </root>  
[ Index| From JSON to XML]

JSONArray to XML

  1. String str = "['JSON', 1, 2.0, true, {'id':42}, [1,2,3]]";   
  2. JSON json = JSONSerializer.toJSON( str );   
  3. XMLSerializer xmlSerializer = new XMLSerializer();   
  4. String xml = xmlSerializer.write( json );   
  5. System.out.println(xml);   
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <a>  
  3.    <e type="string">JSON</e>  
  4.    <e type="number">1</e>  
  5.    <e type="number">2.0</e>  
  6.    <e type="boolean">true</e>  
  7.    <e class="object">  
  8.       <id type="number">42</id>  
  9.    </e>  
  10.    <e class="array">  
  11.       <e type="number">1</e>  
  12.       <e type="number">2</e>  
  13.       <e type="number">3</e>  
  14.    </e>  
  15. </a>  
[ Index| From JSON to XML]

JSONArray to XML (no type hints)

  1. String str = "['JSON', 1, 2.0, true, {'id':42}, [1,2,3]]";   
  2. JSON json = JSONSerializer.toJSON( str );   
  3. XMLSerializer xmlSerializer = new XMLSerializer();   
  4. xmlSerializer.setTypeHintsEnabled( false );   
  5. String xml = xmlSerializer.write( json );   
  6. System.out.println(xml);   
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <a>  
  3.    <e>JSON</e>  
  4.    <e>1</e>  
  5.    <e>2.0</e>  
  6.    <e>true</e>  
  7.    <e>  
  8.       <id>42</id>  
  9.    </e>  
  10.    <e>  
  11.       <e>1</e>  
  12.       <e>2</e>  
  13.       <e>3</e>  
  14.    </e>  
  15. </a>  
[ Index| From JSON to XML]

JSONArray to XML (with json prefix)

  1. String str = "['JSON', 1, 2.0, true, {'id':42}, [1,2,3]]";   
  2. JSON json = JSONSerializer.toJSON( str );   
  3. XMLSerializer xmlSerializer = new XMLSerializer();   
  4. xmlSerializer.setTypeHintsCompatibility( false );   
  5. String xml = xmlSerializer.write( json );   
  6. System.out.println(xml);   
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <a>  
  3.    <e json_type="string">JSON</e>  
  4.    <e json_type="number">1</e>  
  5.    <e json_type="number">2.0</e>  
  6.    <e json_type="boolean">true</e>  
  7.    <e json_class="object">  
  8.       <id json_type="number">42</id>  
  9.    </e>  
  10.    <e json_class="array">  
  11.       <e json_type="number">1</e>  
  12.       <e json_type="number">2</e>  
  13.       <e json_type="number">3</e>  
  14.    </e>  
  15. </a>  
[ Index| From JSON to XML]

Flatten JSONArray into parent

  1. String str = "{'number': [1,2,3]}";   
  2. JSONObject json = (JSONObject) JSONSerializer.toJSON( str );   
  3. XMLSerializer xmlSerializer = new XMLSerializer();   
  4. xmlSerializer.setTypeHintsEnabled( false );   
  5. String xml = xmlSerializer.write( json );   
  6. System.out.println( xml );   
  7. json.getJSONArray( "number" ).setExpandElements( true );   
  8. xml = xmlSerializer.write( json );   
  9. System.out.println( xml );   
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <o>  
  3.    <number>  
  4.       <e>1</e>  
  5.       <e>2</e>  
  6.       <e>3</e>  
  7.    </number>  
  8. </o>  
  9.   
  10. <?xml version="1.0" encoding="UTF-8"?>  
  11. <o>  
  12.    <number>1</number>  
  13.    <number>2</number>  
  14.    <number>3</number>  
  15. </o>  
[ Index| From JSON to XML]

From XML to JSON

XML to JSONObject

  1. <o number="1">  
  2.    first   
  3.    <string>json</string>  
  4.    <array>  
  5.       <e>1</e>  
  6.       <e>true</e>  
  7.    </array>  
  8. </o>  
  1. String xml = ...   
  2. XMLSerializer xmlSerializer = new XMLSerializer();   
  3. JSON json = xmlSerializer.read( xml );   
  4. System.out.println( json.toString(2) );   
  1. {   
  2.   "string""json",   
  3.   "#text""first",   
  4.   "array":   [   
  5.     "1",   
  6.     "true"  
  7.   ],   
  8.   "@number""1"  
  9. }   
[ Index| From XML to JSON]

你可能感兴趣的:(xml,json)