Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java将XML转换为JSON并确定是数组还是对象_Java_Xml_Json - Fatal编程技术网

Java将XML转换为JSON并确定是数组还是对象

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

我需要将XML转换为JSON,下面的代码运行良好。但是,当XML元素实际应转换为数组时,就会出现问题。我的问题分为两部分:

1) 用xml表示数组的正确方法是什么

这是我目前正在使用的xml。元素的内容实际上应该是一个数组。因此元素[0]应该是其中的元素

<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"
}