我需要将完整的xml文档存储为json对象的一部分。 当我收到请求并尝试从json字符串创建json对象时,如下所示 -
{"content":{
"name" : "xyz",
"details":"<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<ns0:Report xmlns:ns0=\"http://www.khisko.com/triTypes\">
<StackTrace>Job-8004 Error in [xxxxxxxxxx]
Output data invalid
at com.xyz.tst.a(Unknown Source)
caused by: java.lang.NullPointerException
</StackTrace>
<Msg>Output data invalid</Msg>
</ns0:Report>"
}}
我在第一个详细信息字符处收到未终止的字符串错误。 我该怎么办呢。
我正在使用org.json.JSONObject构造函数,它以java字符串作为参数并将json作为java字符串传递给上面。
谢谢
答案 0 :(得分:5)
我已将\"
更改为'
和remove line breaks
,例如@Explosion Pills说
{"content":{
"name" : "xyz",
"details":"<?xml version='1.0' encoding='UTF-8'?>
<ns0:Report xmlns:ns0='http://www.khisko.com/triTypes'>
<StackTrace>Job-8004 Error in [xxxxxxxxxx]
Output data invalid
at com.xyz.tst.a(Unknown Source)
caused by: java.lang.NullPointerException
</StackTrace>
<Msg>Output data invalid</Msg>
</ns0:Report>"
}}
答案 1 :(得分:3)
不想从xml中删除换行符,而是在json java类中进行更改,以便不为NL,CR抛出未终止的字符串异常。谢谢Explosion Pills。
答案 2 :(得分:3)
您可以像
一样编码和解码xml字符串。{
"content": {
"name": "xyz",
"details": "PD94bWwgdmVyc2lvbj1cIjEuMFwiIGVuY29kaW5nPVwiVVRGLThcIj8+CiA8bnMwOlJlcG9ydCB4bWxuczpuczA9XCJodHRwOi8vd3d3LmtoaXNrby5jb20vdHJpVHlwZXNcIj4KICA8U3RhY2tUcmFjZT5Kb2ItODAwNCBFcnJvciBpbiBbeHh4eHh4eHh4eF0KICAgICAgT3V0cHV0IGRhdGEgaW52YWxpZCYjeEQ7CiAgYXQgY29tLnh5ei50c3QuYShVbmtub3duIFNvdXJjZSkmI3hEOwogICAgICBjYXVzZWQgYnk6IGphdmEubGFuZy5OdWxsUG9pbnRlckV4Y2VwdGlvbiYjeEQ7CiAgIDwvU3RhY2tUcmFjZT4KICAgPE1zZz5PdXRwdXQgZGF0YSBpbnZhbGlkPC9Nc2c+CiAgPC9uczA6UmVwb3J0Pg==",
"encoding": "base64"
}
}