web-dev-qa-db-fra.com

stockage xml à l'intérieur de l'objet json

J'ai besoin de stocker le document xml complet dans le cadre de l'objet json. quand je reçois la demande et essaie de créer un objet json à partir de la chaîne json comme ci-dessous -

{"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>"
 }}

Je reçois une erreur de chaîne non terminée au premier caractère des détails. comment puis-je le gérer.

j'utilise le constructeur org.json.JSONObject qui prend Java chaîne comme paramètre et passant au-dessus de json comme Java chaîne.

Merci

16
chappalprasad

Vous pouvez encoder et décoder une chaîne xml comme

{
  "content": {
    "name": "xyz",
    "details": "PD94bWwgdmVyc2lvbj1cIjEuMFwiIGVuY29kaW5nPVwiVVRGLThcIj8+CiA8bnMwOlJlcG9ydCB4bWxuczpuczA9XCJodHRwOi8vd3d3LmtoaXNrby5jb20vdHJpVHlwZXNcIj4KICA8U3RhY2tUcmFjZT5Kb2ItODAwNCBFcnJvciBpbiBbeHh4eHh4eHh4eF0KICAgICAgT3V0cHV0IGRhdGEgaW52YWxpZCYjeEQ7CiAgYXQgY29tLnh5ei50c3QuYShVbmtub3duIFNvdXJjZSkmI3hEOwogICAgICBjYXVzZWQgYnk6IGphdmEubGFuZy5OdWxsUG9pbnRlckV4Y2VwdGlvbiYjeEQ7CiAgIDwvU3RhY2tUcmFjZT4KICAgPE1zZz5PdXRwdXQgZGF0YSBpbnZhbGlkPC9Nc2c+CiAgPC9uczA6UmVwb3J0Pg==",
    "encoding": "base64"
  }
}
11
bitsabhi

J'ai juste changé \" à ' et remove line breaks comme le dit @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&#xD;
      at com.xyz.tst.a(Unknown Source)&#xD;
          caused by: Java.lang.NullPointerException&#xD;
       </StackTrace>
       <Msg>Output data invalid</Msg>
      </ns0:Report>"
     }}
7

Je ne veux pas supprimer les sauts de ligne du xml mais j'ai apporté des modifications dans json Java pour ne pas lever d'exception de chaîne non terminée pour NL, CR. Merci Explosion Pills.

3
chappalprasad