をネストされたI以下のJSON持っている:私はそれを解析するには、次のコードを使用しています解析は、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"
}
}
を:
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);
}
これは正常に動作し、それがある場所以外のすべての値を印刷一種のネスティングレベル。上記のコードと同じトリックをjson.get( "location")に渡してみましたが、うまくいきません。場所に適した方法を提案してください。
「動作しない」とはどういう意味ですか?エラーメッセージが表示されますか?もしそうなら、それは何を言いますか? –
上記のコードが正常に動作することを確認するだけです。しかし、私が場所のフィールドに同じロジックを適用しようとすると、line location_fields.getFieldNames()はnullポインタの例外をスローします。私は最初の行に正しい名前 "location"を渡していると確信しています – Vik