【发布时间】:2013-06-09 19:36:26
【问题描述】:
XML:
<?xml version="1.0" encoding="UTF-8"?><data><MatEiningaNumer>010101</MatEiningaNumer></data>
Java 代码:
String xmlString = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><data><MatEiningaNumer>010101</MatEiningaNumer></data>";
JSONObject json = org.json.XML.toJSONObject(xmlString);
生成的 json:
data={"MatEiningaNumer":4161}
问题在于 org.json.XML.toJSONObject(xmlString) 方法将 010101 文本值转换为 8 基编码十进制值,结果为 4161
有没有办法让这个方法不转换字符串? 仅将字符串值放入生成的 json 中?
我想到的唯一解决方案是添加一些字符串前缀,比如说“pre”。 为了让转换器相信它是一个字符串。 像这个pre010101。 并且在使用json去掉前缀的Javascript文件中。
还有其他解决方案吗?
【问题讨论】:
-
您是否尝试过在 Java 字符串中添加引号?
<MatEiningaNumer>\"010101\"</MatEiningaNumer> -
没有。它不起作用。
-
您的 DTD 对
MatEiningaNumer有什么看法?预期的类型是什么? -
没有 DTD。 XML 是在 Java 代码中动态创建的。实际的 XML 更为复杂。但我想要的类型是字符串。因为它不是一个实数。它可以从零开始。