Расшифровка строки JSON в Java

Я новичок в использовании json-simple библиотеки в Java, и я прошел через обакодирование а такжедекодирование образцы. Дублирование примеров кодирования было хорошо, но я не смог заставить декодировать работу со смешанным типом JSON.

Одна из моих проблем заключается в том, что в библиотеке слишком много классов, которые не документированы надлежащим образом и для которых у меня нет источника (чтобы я мог прочитать и понять их назначение). Следовательно, я изо всех сил пытаюсь понять, как использовать много этих классов.

Прочитав этот пример:

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);
}

изJSON-простой официальный учебник по декодированиюЯ пытался декодировать этот 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}
    ]
}
}

Я пишу следующий код для декодирования:

    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);

Но это не работает. Фактически я не смог заставить работать немодифицированный пример, и авторы оригинала не объяснили их код.

Какой самый простой способ декодировать этот JSON, как показано?

Ответы на вопрос(4)

Ваш ответ на вопрос