java - 将 JSON 对象解析为 XML

标签 java json xml

我正在尝试找出将 JSON 对象自定义解析为 XML 文档的最佳方法。

给定以下 JSON(我使用 JSON.org):

{"CfgAccessGroup":{"CfgGroup":{"capacityRuleDBID":{"value":0},"DBID":{"value":97},"siteDBID":{"value":0},"name":{"value":"EVERYONE"},"quotaTableDBID":{"value":0},"contractDBID":{"value":0},"state":{"value":1},"capacityTableDBID":{"value":0},"tenantDBID":{"value":1}},"xmlns":"http://schemas.genesyslab.com/Protocols/Configuration/ConfServer/2005/","type":{"value":6},"memberIDs":{"CfgID":[{"CSID":{"value":0},"DBID":{"value":5195},"type":{"value":3}},{"CSID":{"value":0},"DBID":{"value":12854},"type":{"value":3}},{"CSID":{"value":0},"DBID":{"value":12863},"type":{"value":3}},{"CSID":{"value":0},"DBID":{"value":5808},"type":{"value":3}}]}}}

我尝试通过执行以下操作将 JSON 重新转换为 XML:

DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
            Document doc = db.parse(new InputSource(new StringReader(XML.toString(object))));

但是,输出是:

<CfgAccessGroup>
    <CfgGroup>
        <capacityRuleDBID>
            <value>
            0
            </value>
        </capacityRuleDBID>
        ...
    <CfgGroup>
</CfgAccessGroup>

我需要它是:

...
<capacityRuleDBID value=0 />
...

老实说,我真的不知道从哪里开始。

最佳答案

如果您希望对生成的 XML 的元素和属性进行细粒度控制,一种选择是使用 XSLT 转换。

关于java - 将 JSON 对象解析为 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53074394/

相关文章:

java - 如何获取列表中字符串的索引

java - 使用 SAX 解析 XML 时出现问题

xml - xsd 模式是否有 xsd 模式?

iphone - UTF-8 字符问题(iOS、NSString)

java - 在两个类之间传递数据

java - Libgdx 使用 glClearColor 调暗屏幕

xml - Web api 应该默认返回 JSon

java - 打包的 Jar 无法从映射的网络驱动器读取文件 (Windows)

Java:单击 JButton 后图形消失

java - 使用 Restcontroller 将空值转换为空字符串