gpt4 book ai didi

java - 使用 JSONML.toJSONObject() 时获取 JsonException

转载 作者:行者123 更新时间:2023-12-02 11:27:17 25 4
gpt4 key购买 nike

我正在使用 JSONML 将 xml 字符串转换为 JSONObject。这是我的 xml 字符串

"<soapenv:Body xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\"><jsonArray><jsonElement><message>entity is deleted<\/message><errorCode>ENTITY_IS_DELETED<\/errorCode><\/jsonElement><jsonElement><message>entity is deleted<\/message><errorCode>ENTITY_IS_DELETED<\/errorCode><\/jsonElement><\/jsonArray><\/soapenv:Body>"

当我尝试 JSONML.toJSONObject() 它给了我

Caused by: org.json.JSONException: Bad character in a name at 32 [character 33 line 1]
at org.json.JSONTokener.syntaxError(JSONTokener.java:433)
at org.json.XMLTokener.nextToken(XMLTokener.java:288)
at org.json.JSONML.parse(JSONML.java:173)
at org.json.JSONML.toJSONObject(JSONML.java:286)
at org.json.JSONML.toJSONObject(JSONML.java:304)
at com.thbs.automaton.commonUtils.TestcaseUtils.compareXml(TestcaseUtils.java:144)
... 57 more

这是由于转义字符(\)造成的。我尝试通过删除所有\字符来解决此问题,这解决了我的问题。但我认为这不是一个好的做法。

谁能提出更好的方法吗?

最佳答案

“\”表明原始字符串不是“XML 字符串”。它是一个“转义的 XML 字符串”。您应该找出 XML 字符串被转义的原因和方式。

可能是因为传输为 JSON。在这种情况下,您应该将原始 (JSON) 字符串转换为数据字符串,即 XML 字符串。使用这样的代码

String xmlString = jsonParser(originalString, String.class);

之后作为你的运行

JSONML.toJSONObject(xmlString);

关于java - 使用 JSONML.toJSONObject() 时获取 JsonException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49527231/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com