java将转义引号的json转换为xml
我有以下json字符串:
{result:{"id":"1234","pages": [{"Id":50,"data":"{\"name\":\"name1\",\"description\":\"description1\"}"}],"errors":[] }}
我想把它转换成xml。我尝试了几种转换方法,其中一种在这里描述:Java implementation of JSON to XML conversion:
JSONObject o = new JSONObject(jsonString);
String xml = org.json.XML.toString(o);
其结果是:
<result><id>1234</id><pages><data>{"name":"name1","description":"description1"}</data><Id>50</Id></pages></result>
或格式化:
<result>
<id>1234</id>
<pages>
<Id>50</Id>
<data>{"name":"name1","description":"description1"}</data>
</pages>
</result>
显然,“data”中的数据已转换为字符串。实际上,我想要的是这样的结构,其中“数据”块的内容转换为标记:
<result>
<id>1234</id>
<pages>
<Id>50</Id>
<data>
<name>name1</name>
<description>description1</description>
</data>
</pages>
</result>
我知道如果json字符串是
{result:{"id":"1234","pages": [{"Id":50,"data":{"name":"name1","description":"description1"}}],"errors":[]}}
但不幸的是,我无法改变这一点
那么有人知道要转换的方法吗
{result:{"id":"1234","pages": [{"Id":50,"data":"{\"name\":\"name1\",\"description\":\"description1\"}"}],"errors":[] }}
到
<result>
<id>1234</id>
<pages>
<Id>50</Id>
<data>
<name>name1</name>
<description>description1</description>
</data>
</pages>
</result>
在爪哇
# 1 楼答案
转义引号意味着它们被转义,字符串不再是json。 您试图做的事情不符合任何类型的json标准,因此您必须自己解决这个问题;-)
这个怎么样:
更新-还有很多问题-这将起作用: