在 Java 中将 JSON 转换为 XML [英] Converting JSON to XML in Java

查看:47
本文介绍了在 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)

检查 Javadoc

链接到 github 存储库

POM

<dependency>
    <groupId>org.json</groupId>
    <artifactId>json</artifactId>
    <version>20160212</version>
</dependency>

原始帖子更新了新链接

这篇关于在 Java 中将 JSON 转换为 XML的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆