Dekodierung von JSON String in Java

Ich bin neu mit dem json-simple library in Java und ich habe sowohl durch die Codierung und Dekodierung Proben. Duplizieren der Codierung Beispiele war in Ordnung, aber ich habe nicht in der Lage, um die Dekodierung diejenigen, die arbeiten mit gemischten Typ JSON.

Eines meiner Probleme ist, dass es zu viele Klassen in der Bibliothek, die nicht richtig dokumentiert, und für die ich nicht die Quelle (um der Lage sein zu Lesen und zu verstehen, Ihren Zweck). Folglich, ich bin kämpfen, um zu verstehen, wie eine Menge von diesen Klassen.

Nach der Lektüre dieses Beispiel:

String jsonText = "{\"first\": 123, \"second\": [4, 5, 6], \"third\": 789}";
JSONParser parser = new JSONParser();

ContainerFactory containerFactory = new ContainerFactory(){
    public List creatArrayContainer() {
        return new LinkedList();
    }

    public Map createObjectContainer() {
        return new LinkedHashMap();
    }                     
};

try {
    Map json = (Map)parser.parse(jsonText, containerFactory);
    Iterator iter = json.entrySet().iterator();
    System.out.println("==iterate result==");

    while(iter.hasNext()) {
        Map.Entry entry = (Map.Entry)iter.next();
        System.out.println(entry.getKey() + "=>" + entry.getValue());
    }

    System.out.println("==toJSONString()==");
    System.out.println(JSONValue.toJSONString(json));
} catch(ParseException pe) {
    System.out.println(pe);
}

aus der json-simple offizielle Decodierung tutorialversuchte ich zu entschlüsseln, dieses JSON:

{
"stat":{
    "sdr": "MAC address of FLYPORT",
    "rcv": "ff:ff:ff:ff:ff:ff",
    "time": "0000000000000",
    "type": 0,
    "subt": 0,
    "argv": [
        {"type": "6","val": "NetbiosName"},
        {"type": "6","val": "MACaddrFlyport"},
        {"type": "6","val": "FlyportModel"},
        {"type": "1","val": id}
    ]
}
}

Schreibe ich folgenden code zu entschlüsseln:

    String jsonString = "{\"stat\":{\"sdr\": \"aa:bb:cc:dd:ee:ff\",\"rcv\": \"aa:bb:cc:dd:ee:ff\",\"time\": \"UTC in millis\",\"type\": 1,\"subt\": 1,\"argv\": [{1,2},{2,3}]}}";
    JSONObject jsonObject = new JSONObject(jsonString);
    JSONObject newJSON = jsonObject.getJSONObject("stat");
    System.out.println(newJSON);

Aber es funktioniert nicht. Infact, ich war nicht in der Lage, um die unveränderte Beispiel arbeiten, und die ursprünglichen Autoren erklärt haben, Ihren code.

Was ist der einfachste Weg, um zu decodieren, das von JSON als gezeigt?

InformationsquelleAutor der Frage Sharda Singh | 2013-05-15

Schreibe einen Kommentar