2016-06-23 14 views
0

Mit der json-Bibliothek org.json ist es einfach, von XML in JSON zu konvertieren. aber die Umwandlung zurück in XML konvertiert immer JSON-Attribute in XML-Knoten:Java - Konvertieren von JSON in XML unter Beibehaltung der Attribute

import org.json.JSONObject; 
import org.json.XML; 

public class Test { 
    public static void main(String[] args) throws Exception { 
     String xml = "<tag1 attr1=\"val1\"><tag2 attr2=\"val2\"/></tag1>"; 
     System.out.println(xml); 

     JSONObject str = XML.toJSONObject(xml); 
     System.out.println(str); 

     JSONObject json = new JSONObject(str.toString()); 
     String xml2 = XML.toString(json); 
     System.out.println(xml2); 
    } 
} 

Ausgabe

<tag1 attr1="val1"><tag2 attr2="val2"/></tag1> 
{"tag1":{"attr1":"val1","tag2":{"attr2":"val2"}}} 
<tag1><attr1>val1</attr1><tag2><attr2>val2</attr2></tag2></tag1> 

Wie kann ich mein XML-Attribut abrufen?

+0

Haben Sie betrachtet [Badgerfish] (http://badgerfish.ning.com)? Es ist eine Konvention, um XML in JSON und wieder zurück zu übersetzen. Könnte für dich arbeiten, wenn es dir nichts ausmacht, in deinem JSON Seltsamkeit zu haben. – dnault

Antwort

0

Wenn Sie unter XML

<tag1><attr1>val1</attr1><tag2><attr2>val2</attr2></tag2></tag1> 

Sie das gleiche JSON Ergebnis bekommen würde umwandeln würde;

. Daher kann die Konvertierung zurück von JSON nach XML eine Mehrdeutigkeit verursachen. Daher ist es besser, einige benutzerdefinierte Codes zu schreiben, die angeben, dass wenn ein JSON-Feld und ein Attribut oder ein Tag. Ich bin mir nicht sicher, ob es eine Bibliothek für diese Konvertierung gibt, aber dieser Link könnte hilfreich sein;

http://www.cubicrace.com/2015/06/How-to-convert-XML-to-JSON-format.html

Verwandte Themen