将xml转换为json而不转换字符串/整数?

Posted

技术标签:

【中文标题】将xml转换为json而不转换字符串/整数?【英文标题】:Convert xml to json without conversion String/Integer? 【发布时间】:2017-05-04 16:13:47 【问题描述】:

我想将 XML 转换为 JSON

目前,我使用 lib org.json 进行此操作:

JSONObject jso = XML.toJSONObject(xmlStr);

但是,如果 XML 包含数字字段,我希望 JSONObject 中只有字符串字段。

例如:

XML 文件是:

<ID>3</ID>
<NAME>ApplicationName</NAME>

org.json 允许我拥有:


    "ID" : 3,
    "Name" : "ApplicationName"

最终结果必须是:


    "ID" : "3",
    "Name" : "ApplicationName"

【问题讨论】:

这很难。您可能会更成功地将 XML 反序列化为 Map 以使所有内容都成为 String,然后将其序列化为 JSON。不能确定 谢谢。但是当它比示例更复杂时,可以反序列化 XML 文件吗? 我不明白为什么不这样做。只要它是 JSON 对象而不是 JSON 数组,使用 Map 应该没问题 【参考方案1】:

我使用最新版本的 org.json 解决了 mt 问题。

有一种方法可以做到这一点:

JSONObject jso = XML.toJSONObject(xmlStr, true);

布尔值用于保存字符串字段。

【讨论】:

这是哪个版本接受布尔标志?你能在这里提一下吗?我们在最新版本中找不到

以上是关于将xml转换为json而不转换字符串/整数?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 C#/LINQ 将 XML 转换为 JSON?

将数组转换为有效的JSON字符串,而不使用JSON.stringify?

将 XML 响应转换为 Json 时出错

如何将数据实体转换为 JSON 字符串

如何将数据实体转换为 JSON 字符串

从 MemoryStream 获取子字符串而不将整个流转换为字符串