XML到JSON的转换会丢失一些XML标记

时间:2013-08-23 11:02:22

标签: java xml json xmlserializer jsonobject

我正在使用以下方法将XML字符串转换为JSONObject

XMLSerializer xml = new XMLSerializer();
JSONObject json = (JSONObject) xml.read(input);

但转换发生后,JSONObject中不包含某些标记。缺少的标签与JSONObject中包含的标签完全相同,唯一的区别是标签内的属性不同。有人可以告诉我转换发生了什么。

这是包含在JSON

中的标记
<entry urlName="Dir"
utf8Name="Dir"
type="directory"
changeTimeMilliseconds="1373284160872.00"
changeTimeString="2013-07-08T17:19:20+0530"
state="created"/>

这是从convertion

跳过的标签
<entry urlName="c_samples.zip"
utf8Name="c_samples.zip"
type="object"
size="453"
hashScheme="SHA-256"
hash="9AAA2B203F75ED679F133C1A26BA9BB04CF12466DF0670DEC3CD587ED5FF0A27"
retention="1438317494"
retentionString="7/31/2015 10:08AM"
retentionClass=""
ingestTime="1375244240"
ingestTimeString="7/31/2013 9:47AM"
hold="false"
shred="true"
dpl="1"
index="false"
customMetadata="true"
customMetadataAnnotations="default;453"
version="88015631368193"
replicated="false"
changeTimeMilliseconds="1375260472887.00"
changeTimeString="2013-07-31T14:17:52+0530" 
owner="owner"
domain=""
hasAcl="false"
state="created"/>

1 个答案:

答案 0 :(得分:1)

找到了改变转换方法的解决方案。之前我使用net.sf.json.JSONObject创建了JSONObjectnet.sf.json.xml.XMLSerializer来进行转换。我切换到org.json.JSONObjectorg.json.XML并使用了

JSONObject json = XML.toJSONObject(input);

方法。它给了我想要转换的完整标签集。 :)