XML到JSON - 转换列表时的意外行为?

时间:2015-11-01 17:26:49

标签: java json xml

这是我的json值:

{
    "hello": [
        {
            "names": {
                "name": "abc"
            }
        },
        {
            "names": {
                "name": "def"
            }
        }
    ]
}

我尝试使用XML.toString(new JsonObject()),这就是我得到的:

   <hello>
       <names>
          <name>abc</name>
       </names>
   </hello>
   <hello>
       <names>
          <name>def</name>
       </names>
   </hello>

然而,我期望的xml是这样的:

   <hello>
       <names>
          <name>abc</name>
       </names>
       <names>
          <name>def</name>
       </names>
   </hello>

此意外行为导致XML错误无效,因为现在没有根元素。我在这里错过了什么?

1 个答案:

答案 0 :(得分:3)

您的JSON代码中的问题。 []表示数组,根据定义,数组是 set 元素。因此,生成的xml代码包含hello元素的。尝试使用[]更改{}

{
    "hello": {
        "names": [
            {
                "name": "abc"
            },
            {
                "name": "def"
            }
        ]
    }
}

试过它并获得您正在寻找的确切输出:

<hello>
    <names>
        <name>abc</name>
    </names>
    <names>
        <name>def</name>
    </names>
</hello>