JsonNode用法
时间: 2024-10-08 16:03:37 浏览: 18
`JsonNode`是Jackson库中的一个核心类,它用于表示JSON数据结构中的节点,可以是整个JSON文档、数组、对象或基本值。在使用`JsonNode`时,你可以按照以下步骤操作:
1. **创建JsonNode**:
```java
ObjectMapper mapper = new ObjectMapper();
String jsonString = "{\"name\":\"John\", \"age\":30}";
JsonNode jsonNode = mapper.readTree(jsonString);
```
2. **获取节点值**:
- 对于基本类型:
```java
String name = jsonNode.get("name").asText();
int age = jsonNode.get("age").asInt();
```
- 对于复杂类型:
```java
JsonNode person = jsonNode.get("person");
if (person.isObject()) {
String firstName = person.get("firstName").asText();
}
```
3. **遍历和操作**:
- 遍历对象属性:
```java
Iterator<Map.Entry<String, JsonNode>> entries = jsonNode.fields();
while (entries.hasNext()) {
Map.Entry<String, JsonNode> entry = entries.next();
System.out.println(entry.getKey() + ": " + entry.getValue().textValue());
}
```
- 数组元素:
```java
for (JsonNode node : jsonNode.isArray()) {
System.out.println(node.asText());
}
```
4. **修改和序列化**:
- 修改节点值:
```java
jsonNode.put("newKey", "newValue");
```
- 序列化回字符串:
```java
String updatedJson = mapper.writeValueAsString(jsonNode);
```
阅读全文