23

完全な 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&#xD;
  at com.xyz.tst.a(Unknown Source)&#xD;
      caused by: java.lang.NullPointerException&#xD;
   </StackTrace>
   <Msg>Output data invalid</Msg>
  </ns0:Report>"
 }}

詳細の最初の文字で Unterminated string エラーが発生しています。どうすればそれを処理できますか。

私は org.json.JSONObject コンストラクターを使用しています。これは、Java 文字列をパラメーターとして取り、上記の json を Java 文字列として渡します。

ありがとう

4

3 に答える 3

13

@Explosion Pillsの言うように変更\"しました'remove line breaks

{"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&#xD;
      at com.xyz.tst.a(Unknown Source)&#xD;
          caused by: java.lang.NullPointerException&#xD;
       </StackTrace>
       <Msg>Output data invalid</Msg>
      </ns0:Report>"
     }}
于 2015-12-21T21:24:09.693 に答える
4

XML から改行を削除したくありませんが、JSON Java クラスを変更して、NL、CR の未終了文字列例外をスローしないようにしました。おかげで爆発の丸薬。

于 2013-06-06T15:24:46.347 に答える