遍歷 JSON 文件
在以下示例中,json
包含具有以下資料的 JSON 物件:
[
{
"name": "John Doe",
"work": {
"company": {
"name": "ASDF INC",
"country": "USA"
},
"cargo": "Programmer"
},
"tags": ["java", "jvm", "play"]
},
{
"name": "Bob Doe",
"work": {
"company": {
"name": "NOPE INC",
"country": "AUSTRALIA"
},
"cargo": "SysAdmin"
},
"tags": ["puppet", "ssh", "networking"],
"active": true
}
]
獲取某些使用者的名字(不安全)
JsonNode node = json.get(0).get("name"); // --> "John Doe"
// This will throw a NullPointerException, because there is only two elements
JsonNode node = json.get(2).get("name"); // --> *crash*
獲取使用者名稱(安全方式)
JsonNode node1 = json.at("/0/name"); // --> TextNode("John Doe")
JsonNode node2 = json.at("/2/name"); // --> MissingNode instance
if (! node2.isMissingNode()) {
String name = node2.asText();
}
獲取第一個使用者工作的國家/地區
JsonNode node2 = json.at("/0/work/company/country"); // TextNode("USA")
獲取每個國家
List<JsonNode> d = json.findValues("country"); // List(TextNode("USA"), TextNode("AUSTRALIA"))
查詢包含活動屬性的每個使用者
List<JsonNode> e = json.findParents("active"); // List(ObjectNode("Bob Doe"))