我是json的新手。我有一个程序可以从json对象生成xml。
String str = "{'name':'JSON','integer':1,'double':2.0,'boolean':true,'nested':{'id':42},'array':[1,2,3]}"; JSON json = JSONSerializer.toJSON( str ); XMLSerializer xmlSerializer = new XMLSerializer(); xmlSerializer.setTypeHintsCompatibility( false ); String xml = xmlSerializer.write( json ); System.out.println(xml);
输出为:
<?xml version="1.0" encoding="UTF-8"?> <o><array json_class="array"><e json_type="number">1</e><e json_type="number">2</e><e json_type="number">3</e></array><boolean json_type="boolean">true</boolean><double json_type="number">2.0</double><integer json_type="number">1</integer><name json_type="string">JSON</name><nested json_class="object"><id json_type="number">42</id></nested></o>
我最大的问题是如何编写自己的属性而不是json_type =“ number”,以及如何编写自己的子元素,例如。
使用json.org中的(优秀)JSON-Java库,然后
json.org
JSONObject json = new JSONObject(str); String xml = XML.toString(json);
toString 可以使用第二个参数来提供XML根节点的名称。
toString
该库还能够使用以下命令将XML转换为JSON XML.toJSONObject(java.lang.String string)
XML.toJSONObject(java.lang.String string)
POM
<dependency> <groupId>org.json</groupId> <artifactId>json</artifactId> <version>20160212</version> </dependency>