在Java中将XML转换为JSON并将子节点作为数组
问题描述:
我正在寻找一种方法将Java中的XML转换为JSON,使得子节点将总是转换为数组。 在Node.js中有库XmlToJs。在Java中将XML转换为JSON并将子节点作为数组
使用情况是,当我有一个像XML如下:
XML:
<A>
<B>
<C>data</C>
</B>
<B>
<C>data1</C>
<C>data2</C>
</B>
</A>
JSON与org.json转换:
{
"A": {
"B": [{
"C": "data"
}, {
"C": ["data1", "data2"]
}]
}
}
什么,我想在转换到产量:
{
"A": {
"B": [{
"C": ["data"]
}, {
"C": ["data1", "data2"]
}]
}
}
答
可以完成上面的操作,但可能不是直接的,即XML - > JSON,一种方法是具有数据模型的中间对象表示,然后是XML - >数据模型 - > JSON。 XML->数据模型可以通过JAXB提供商在所需的结构中实现,一旦数据位于模型中,您可以将其序列化为JSON
答
您可以使用Jackson XML来执行此操作。这里有一篇博客文章解释了要做什么https://dzone.com/articles/solving-the-xml-problem-with-jackson
但是如果我不知道xml的模式怎么办。它应该在每种类型的XML输入上运行 –