【问题标题】:XML to JSON Conversion incorrect outputXML 到 JSON 转换不正确的输出
【发布时间】:2015-10-28 19:43:43
【问题描述】:

我已将一个 XML 字符串转换为 JSON,但虽然格式正确,但在此过程中一些数据发生了变化。

我用过很多人喜欢的方法:

JSONObject xmlJSONObj = XML.toJSONObject(xml);
jsonPrettyPrintString = xmlJSONObj.toString();

我检查了生成的 XML,它已经完成并且完美,但是在通过“toJSONObject”方法之后,一些数值发生了变化......

例如,应该返回的值之一是字符串“0000000000623”,但它返回为整数 408。

关于如何解决这个问题或我可以使用的任何其他方法的任何想法?

【问题讨论】:

  • 之前(xml)和之后(json)样本?

标签: java json xml converter


【解决方案1】:

“0623”不会给你 403 吗? (不是 408)

看起来您进行处理的任何库都将前导 0 字符识别为指示八进制(base 8)编码。

【讨论】:

  • 你是对的,它是 403。但是它不应该转换八进制和小数。底线是 glassfish 是罪魁祸首,当我通过 tomcat 发布我的项目时,xml 到 json 的处理完美。不,问题是,为什么它适用于 tomcat 而不是 glassfish?
  • 许多字符串到整数解析器将前导 '0x' 解释为基数 16(十六进制),前导 '0' 解释为基数 8(八进制),而所有其他的都解释为基数 10(十进制)。这是历史性的;至少四十年来,它一直以这种方式进行。 (这并不意味着它很好或不会导致意外错误)en.wikipedia.org/wiki/Octal#In_computers
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-20
相关资源
最近更新 更多