java获取json的value类型
时间: 2023-12-11 11:05:22 浏览: 117
在 Java 中获取 JSON 的 value 的类型,我们可以使用 `JsonNode` 对象的 `getNodeType()` 方法。
假设我们有以下 JSON 字符串:
```java
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
String data = "{\"name\": \"Alice\", \"age\": 18, \"is_student\": true, \"scores\": [90, 85, 92], \"address\": {\"city\": \"Beijing\", \"street\": \"Haidian Road\"}}";
ObjectMapper mapper = new ObjectMapper();
JsonNode jsonNode = mapper.readTree(data);
```
我们可以使用以下代码来获取其中某个 key 对应的 value 的类型:
```java
// 获取 name 的类型
System.out.println(jsonNode.get("name").getNodeType()); // STRING
// 获取 age 的类型
System.out.println(jsonNode.get("age").getNodeType()); // NUMBER
// 获取 is_student 的类型
System.out.println(jsonNode.get("is_student").getNodeType()); // BOOLEAN
// 获取 scores 的类型
System.out.println(jsonNode.get("scores").getNodeType()); // ARRAY
// 获取 address 的类型
System.out.println(jsonNode.get("address").getNodeType()); // OBJECT
```
需要注意的是,在 JSON 中,true 对应 Java 中的 true,false 对应 Java 中的 false,null 对应 Java 中的 null。
阅读全文