是否存在Java XML to JSON库以生成输出JSON而没有属性,其中输入XML具有xsi:nil =" true"

时间:2018-04-26 09:25:27

标签: java json xml

是否存在Java XML to JSON库以生成输出JSON而没有属性,其中输入XML具有xsi:nil =" true"?

XML输入示例:

<root>
  <ele1>Has content</ele2>
  <ele2 xsi:nil="true" />
</root>

预期的JSON输出

{
  "root":{
     "ele1":"Has content"
  }
}

我的输入是XML而不是POJO。我想知道是否有一个库可以避免例如使用JAXB / Jackson。

使用json.org,我目前得到了例如:

{
  "root":{
     "ele1":"Has content",
     "ele2":[
        "xsi:nil":true
      ]
  }
}

我不希望JSON中有空值,但属性不存在。即不:

{
  "root":{
     "ele1":"Has content",
     "ele2":null
  }
}

谢谢,

1 个答案:

答案 0 :(得分:0)

没有XML-to-JSON转换库总能为您提供所需的内容。通常,我建议在执行XML到JSON转换之前使用XSLT进行XML到XML的预转换 - 在这种情况下,预转换将消除已填充的元素。

如果要完全控制生成的JSON,请尝试使用XSLT 3.0中的机制,首先将XML转换为通用<map><array><string>和{{1} }元素,然后按下按钮将这些转换为JSON语法。