2013-06-03 12 views
9

Potrzebuję przechowywać kompletny dokument XML jako część obiektu json. kiedy otrzyma wniosek i spróbować stworzyć json obiektu z json ciąg jak poniżej -Przechowywanie xml wewnątrz obiektu 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>" 
}} 

Dostaję błąd niezakończony ciąg na pierwszy char szczegółów. jak sobie z tym poradzić.

Używam konstruktora org.json.JSONObject, który przyjmuje ciąg java jako parametr i przekazuje powyższy json jako ciąg java.

Dzięki

+2

Wyjąć podziały wiersza z xml –

+0

i dlaczego w imię bogów chcesz umieścić wewnątrz xml json? – varun

+5

xml to żądanie odebrane od klienta, które muszę zachować. – chappalprasad

Odpowiedz

2

Nie chcesz usunąć podziałów wierszy z xml ale wykonane zmiany w klasie json Java, aby nie rzucać niezakończony ciąg wyjątek dla NL, CR. dzięki Pigułki Wybuchu.

3

Właśnie zmieniłem \" do ' i remove line breaks jak @Explosion Pigułki mówi

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

właściwie oryginalne pytanie jest duplikatem http://stackoverflow.com/questions/9264470/is-it-possible-to-write-xml-into-json-object, ale ten wątek ma odpowiedź ukrytą w komentarzu. Mam podobną potrzebę i spróbuję tego podejścia, myślę, że to jest najbliższe elementowi CDATA XML. – Gregor

Powiązane problemy