Java将XML转换为JSON并确定是数组还是对象
我需要将XML转换为JSON,下面的代码运行良好。但是,当XML元素实际应转换为数组时,就会出现问题。我的问题分为两部分: 1) 用xml表示数组的正确方法是什么 这是我目前正在使用的xml。元素的内容实际上应该是一个数组。因此元素[0]应该是其中的元素Java将XML转换为JSON并确定是数组还是对象,java,xml,json,Java,Xml,Json,我需要将XML转换为JSON,下面的代码运行良好。但是,当XML元素实际应转换为数组时,就会出现问题。我的问题分为两部分: 1) 用xml表示数组的正确方法是什么 这是我目前正在使用的xml。元素的内容实际上应该是一个数组。因此元素[0]应该是其中的元素 <project id="200"> <name>test</name> <elements> <element> <id
<project id="200">
<name>test</name>
<elements>
<element>
<id>body</id>
<width>200</width>
<height>400</height>
<children/>
</element>
</elements>
</project>
非常感谢回答您的第一个问题:
用xml表示数组的正确方法是什么?
请参考:有一个静态方法为U.xmlToJson(xml)
的库。它支持一个特殊属性array=“true”,该属性强制元素成为数组
<project id="200">
<name>test</name>
<elements>
<element array="true">
<id>body</id>
<width>200</width>
<height>400</height>
<children/>
</element>
</elements>
</project>
请仔细阅读前面的答案,很遗憾,解决方案没有回答我的问题,因为它没有单独列出数组。您最好的选择是使用XML工具将数组创建为列表,然后使用JSON工具将列表转换为JSON。@HotLicks,这个qwuestion是—“如何做”@msangel-如何做什么?这两个工具都有多个--只需将其中两个工具捆绑在一起。我知道我们有模式将自动关闭部分值替换为null,我们有模式替换为EMPTY吗?我可以添加一个新的模式将自动关闭替换为EMPTY。它将在最近的版本中可用。是否有配置/方法放弃“#省略xml声明”响应中的键?我们可以使用方法U.remove(映射,键)排除键。作为替代方案,您可以添加xml头。
<project id="200">
<name>test</name>
<elements>
<element array="true">
<id>body</id>
<width>200</width>
<height>400</height>
<children/>
</element>
</elements>
</project>
{
"project": {
"-id": "200",
"name": "test",
"elements": [
{
"id": "body",
"width": "200",
"height": "400",
"children": {
"-self-closing": "true"
}
}
]
},
"#omit-xml-declaration": "yes"
}