在Java中将XML转换为JSON,子节点为数组

Eta*_*ein 7 java xml json

我正在寻找一种方法,将Java中的XML转换为JSON,使得子节点总是被转换为数组.在Node.js中有库XmlToJs.

用例是我有如下XML的时候:

XML:

<A>
  <B>
    <C>data</C>
  </B>
  <B>
    <C>data1</C>
    <C>data2</C>
  </B>
</A>
Run Code Online (Sandbox Code Playgroud)

org.json转换的JSON :

{
  "A": {
      "B": [{
          "C": "data"
      }, {
          "C": ["data1", "data2"]
      }]
   }
}
Run Code Online (Sandbox Code Playgroud)

我希望转换成产量:

{
  "A": {
      "B": [{
          "C": ["data"]
      }, {
          "C": ["data1", "data2"]
      }]
   }
}
Run Code Online (Sandbox Code Playgroud)

Val*_*kov 1

您可以尝试underscore-java库和静态方法U.xmlToJson(xml)。有一个特殊属性array="true"强制元素成为数组。我是该项目的维护者。

<A>
  <B>
    <C array="true">data</C>
  </B>
  <B>
    <C>data1</C>
    <C>data2</C>
  </B>
</A>
Run Code Online (Sandbox Code Playgroud)

输出:

{
  "A": {
    "B": [
      {
        "C": [
          "data"
        ]
      },
      {
        "C": [
          "data1",
          "data2"
        ]
      }
    ]
  },
  "#omit-xml-declaration": "yes"
}
Run Code Online (Sandbox Code Playgroud)