Tôi có JSON sau:Parsing lồng 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"
}
}
Tôi đang sử dụng đoạn mã sau để phân tích nó:
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);
}
này hoạt động tốt và nó in tất cả các giá trị ngoại trừ vị trí đó là loại cấp độ làm tổ khác. Tôi đã thử cùng một thủ thuật như trên mã để vượt qua json.get ("vị trí") nhưng điều đó không hoạt động. Vui lòng đề xuất cách làm cho nó hoạt động cho vị trí.
Bạn có ý nghĩa gì bởi "không hoạt động", bạn có nhận được thông báo lỗi không? Nếu vậy, nó nói gì? –
Chỉ cần rõ ràng mã trên hoạt động tốt. nhưng khi tôi cố gắng áp dụng cùng một logic cho trường vị trí thì dòng location_fields.getFieldNames() ném ra ngoại lệ con trỏ null. Tôi chắc chắn tôi đang đi đúng tên "vị trí" trên dòng đầu tiên – Vik