濡備綍浣跨敤Java JsonNode澶勭悊澶嶆潅JSON
鍦↗ava涓紝鍙互浣跨敤Jackson搴撲腑鐨凧sonNode绫绘潵澶勭悊澶嶆潅鐨凧SON鏁版嵁銆備互涓嬫槸涓€涓畝鍗曠殑绀轰緥锛屾紨绀哄浣曚娇鐢↗sonNode澶勭悊澶嶆潅JSON鏁版嵁锛?/p>
鍋囪鏈変互涓婮SON鏁版嵁锛?/p>
{
"name": "John",
"age": 30,
"address": {
"street": "123 Main St",
"city": "New York"
},
"children": [
{
"name": "Alice",
"age": 5
},
{
"name": "Bob",
"age": 8
}
]
}
鍙互浣跨敤JsonNode鏉ヨ鍙栧拰鎿嶄綔杩欎釜JSON鏁版嵁锛?/p>
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
public class Main {
public static void main(String[] args) {
String json = "{\"name\":\"John\",\"age\":30,\"address\":{\"street\":\"123 Main St\",\"city\":\"New York\"},\"children\":[{\"name\":\"Alice\",\"age\":5},{\"name\":\"Bob\",\"age\":8}]}";
try {
ObjectMapper objectMapper = new ObjectMapper();
JsonNode rootNode = objectMapper.readTree(json);
String name = rootNode.get("name").asText();
int age = rootNode.get("age").asInt();
String street = rootNode.get("address").get("street").asText();
String city = rootNode.get("address").get("city").asText();
System.out.println("Name: " + name);
System.out.println("Age: " + age);
System.out.println("Street: " + street);
System.out.println("City: " + city);
JsonNode children = rootNode.get("children");
for (JsonNode child : children) {
String childName = child.get("name").asText();
int childAge = child.get("age").asInt();
System.out.println("Child name: " + childName);
System.out.println("Child age: " + childAge);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
涓婇潰鐨勭ず渚嬩唬鐮佹紨绀轰簡濡備綍浣跨敤JsonNode绫绘潵璇诲彇澶嶆潅鐨凧SON鏁版嵁銆傞鍏堬紝鎴戜滑浣跨敤ObjectMapper绫诲皢JSON瀛楃涓茶浆鎹负JsonNode瀵硅薄銆傜劧鍚庯紝鎴戜滑鍙互浣跨敤get()鏂规硶鍜宎sXxx()鏂规硶鏉ヨ幏鍙朖SON瀵硅薄鐨勫睘鎬у€硷紝骞惰繘琛岀浉搴旂殑澶勭悊銆?/p>
閫氳繃浠ヤ笂鏂规硶锛屽彲浠ュ緢瀹规槗鍦板鐞嗗鏉傜殑JSON鏁版嵁锛屾彁鍙栨墍闇€鐨勪俊鎭苟杩涜杩涗竴姝ョ殑澶勭悊銆?/p>
相关问答