Ich habe folgende JSON:Parsing verschachtelt JSON
{
"registration": {
"name": "Vik Kumar",
"first_name": "Vik",
"last_name": "Kumar",
"bloodGroup": "B-",
"gender": "male",
"birthday": "10\/31\/1983",
"email": "vik.ceo\u0040gmail.com",
"cellPhone": "1234123456",
"homePhone": "1234123457",
"officePhone": "1234123458",
"primaryAddress": "jdfjfgj",
"area": "jfdjdfj",
"location": {
"name": "Redwood Shores, California",
"id": 103107903062719
},
"subscribe": true,
"eyePledge": false,
"reference": "fgfgfgfg"
}
}
ich den folgenden Code verwenden es zu analysieren:
JsonNode json = new ObjectMapper().readTree(jsonString);
JsonNode registration_fields = json.get("registration");
Iterator<String> fieldNames = registration_fields.getFieldNames();
while(fieldNames.hasNext()){
String fieldName = fieldNames.next();
String fieldValue = registration_fields.get(fieldName).asText();
System.out.println(fieldName+" : "+fieldValue);
}
Dies funktioniert gut und es alle Werte mit Ausnahme der Stelle drucken, die ist Art von einer anderen Ebene der Verschachtelung. Ich habe den gleichen Trick wie oben beschrieben, um json.get ("location") zu übergeben, aber das funktioniert nicht. Bitte schlagen Sie vor, wie es für den Standort funktioniert.
Was meinen Sie mit "funktioniert nicht", erhalten Sie eine Fehlermeldung? Wenn ja, was sagt es? –
Nur um klar zu sein, funktioniert der obige Code gut. aber wenn ich versuche, die gleiche Logik für Standortfeld anzuwenden, dann löst die Zeile location_fields.getFieldNames() eine Nullzeigerausnahme aus. Ich bin sicher, dass ich den richtigen Namen "Standort" in der ersten Zeile übergebe – Vik