json xml转换器有json字符串中的数组
我需要将json转换为xml,然后再将该json转换回xml,但是我在使用org.json lib时丢失了json数组对象 - 。json xml转换器有json字符串中的数组
JSON字符串 -
{
"readResult": {
"errors": [{
"code": 400
}]
}
}
代码库 - 使用org.json LIB
String xml = XML.toString(new JSONObject("inputjsonstring"));
String json = XML.toJSONObject(xml).toString();
输出XML和JSON -
XML - <readResult><errors><code>400</code></errors></readResult>
JSON -
{
"readResult": {
"errors": {
"code": 400
}
}
}
这里此JSON没有任何阵列它是在原始的json中。请建议备用库做同样的事情。
没有办法从XML字符串
<readResult>
<errors>
<code>400</code>
</errors>
</readResult>
,图书馆可以“猜测”那code
是一个数组
做这类事情,你需要通过一个去Java模型和使用图书馆等Jackson再生JSON
有几个选择映射从XML到Java:XStream就是其中之一
我有一个json的开始,同时转换JSON到XML,应该有一些标志属性,可以定义如果XML元素是一个阵列。如果我能找到一些解决方案,我会研究XStream。 – vashishth
您可以使用XSLT 3.0中的json-to-xml()函数: https://www.w3.org/TR/xslt-30/#json-to-xml-mapping –
也许你可以使用JSON-XML映射来帮助说明如下:
读者和由JsonReaderWriterFactory生产的作家提供了JavaScript对象符号(JSON)内容的XML API。 (source)
它可以转换:
{
"readResult": {
"errors": [{
"code": 400
}]
}
}
到:
<root type="object">
<readResult type="object">
<errors type="array">
<item type="object"><code type="number">400</code></item>
</errors>
</readResult>
</root>
注:我在JavaScript和PHP也实现了这个转换。
这对我来说看起来不错。它也可以在Java中使用吗? – vashishth
你犯了一个错字吗?你写“json回到xml”,但它应该是“xml回json”,对吧? – mevdschee
也许这个问题可以帮助你? http://*.com/questions/13271369/convert-json-to-xml – mevdschee