本文介绍了在Java中将JSON转换为XML的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我是json的新手。我有一个程序从json对象生成xml。
I am new to json. I am having a program to generate xml from json object.
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并写我的自己的子元素。
my biggest problem is how to write my own attributes instead of json_type="number" and also writing my own sub elements like .
推荐答案
使用json.org中的(优秀)JSON-Java库然后
Use the (excellent) JSON-Java library from json.org then
JSONObject json = new JSONObject(str);
String xml = XML.toString(json);
toString
可以提供第二个参数来提供XML根节点的名称。
toString
can take a second argument to provide the name of the XML root node.
此库还可以使用 XML.toJSONObject(java.lang.String string)将XML转换为JSON )
检查
指向的链接
POM
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20160212</version>
</dependency>
使用新链接更新的原始帖子
这篇关于在Java中将JSON转换为XML的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!