JSON到XML与java中的类型属性

Posted

技术标签:

【中文标题】JSON到XML与java中的类型属性【英文标题】:JSON to XML with type attribute in java 【发布时间】:2020-08-26 23:56:14 【问题描述】:

我正在将 C# 应用程序重写为 java 代码。

有返回 jsons 的 REST API。 我必须将 json 解析为 XML,但 C# 库和 Java 以不同的方式进行。

如何在 java 中保留 type= 属性? 我不能使用 JAXB 注释,因为响应的对象太多并且它们可能会发生变化。 XML.toString(jsonObject) 对我不起作用。

C#解析是这样完成的:

XDocument.load(JsonReaderWriterFactory.CreateJsonReader(Encoding.ASCII.GetBytes(jsonString), new XmlDictionaryReaderQuotas()));

C# 结果:

<root type="object">   
  <Items type="array">
    <item type="object">
      <Name type="string">test</Name>
      <Total type="number">12.8000000</Total>
      <CurrencyCode type="string">CHF</CurrencyCode>
      <Country type="string">CH</Country>
    </item>   
  </Items> 
</root>

Java 结果:

<root>
  <Items> 
    <item> 
      <Name>test</Name> 
      <Total>12.8000000</Total> 
      <CurrencyCode>CHF</CurrencyCode> 
      <Country>CH</Country>> 
    </item>   
 </Items>
</root>

【问题讨论】:

这可能对Json-to-xml-example有帮助 Underscore-java库可以将json转xml。 U.jsonToXml(json) 方法会有所帮助。 【参考方案1】:

我使用了 org.w3c.Document 和 org.w3c.dom.Element 并设置了属性“type”。 无论如何感谢您的帮助:)

【讨论】:

以上是关于JSON到XML与java中的类型属性的主要内容,如果未能解决你的问题,请参考以下文章

Java将XML类型的文本转换为JSON

将属性添加到简单类型或限制到 Xml 架构中的复杂类型

枚举序列化 Json 与 XML

JAXB 实现java对象与xml之间互相转换

AJAX的返回类型json与xml

MyBatis里json型字段到Java类的映射