У меня есть JSON полезной нагрузки образец, который выглядит следующим образом:Как разобрать JSON с использованием Джексона (рекурсивно или итеративно)?
{"timestamp": 1427394360, "device": {"user-agent": "Mac OS 10.10.2 2.6 GHz Intel Core i7"}}
я разобрать его и получить пар ключ/значение с помощью этого:
Iterator<Map.Entry<String,JsonNode>> fieldsIterator = rootNode.fields();
while (fieldsIterator.hasNext()) {
Map.Entry<String,JsonNode> field = fieldsIterator.next();
key = field.getKey();
value = field.getValue();
System.out.println("Key: " + key);
System.out.println("Value: " + value);
}
Это выходы:
Key: timestamp
Value: 1427394360
Key: device
Value: {"user-agent": "Mac OS 10.10.2 2.6 GHz Intel Core i7"}
Как я могу настроить его, чтобы я мог разобрать пару ключ/значение внутри ключа устройства, чтобы стать:
Key: "user-agent"
Value: "Mac OS 10.10.2 2.6 GHz Intel Core i7"
А также, может быть в формате JSON, который имеет даже более вложенную JSON внутри него ... Это означает, что некоторые JSON могут не иметь вложенную JSON и некоторые из них могут иметь несколько ...
Есть ли способ рекурсивно разбирать все пары ключ/значение из полезной нагрузки JSON с помощью Джексона?
Спасибо, что нашли время, чтобы прочитать это ...
«Значение», соответствующее «устройству» ключа, представляет собой карту. Вы можете обращаться с ним так же, как и с карточкой. –
Есть ли способ проверить, есть ли карта, прежде чем делать это? –
'instanceof', возможно? –