java JsonNode删除指定key
时间: 2023-11-18 08:03:08 浏览: 352
你可以使用 Jackson 库中的 JsonNode 对象来删除指定的 key。下面是一个示例代码:
```java
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.ObjectNode;
public class JsonNodeExample {
public static void main(String[] args) {
try {
// 创建 ObjectMapper 对象
ObjectMapper objectMapper = new ObjectMapper();
// 解析 JSON 字符串为 JsonNode 对象
String jsonString = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}";
JsonNode jsonNode = objectMapper.readTree(jsonString);
// 删除指定的 key
String keyToRemove = "age";
if (jsonNode.has(keyToRemove)) {
ObjectNode objectNode = (ObjectNode) jsonNode;
objectNode.remove(keyToRemove);
}
// 打印修改后的 JSON
System.out.println(objectMapper.writeValueAsString(jsonNode));
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
在上面的示例中,我们使用了 Jackson 库中的 ObjectMapper 类来解析 JSON 字符串为 JsonNode 对象。然后,我们使用 remove() 方法从 JsonNode 中删除指定的 key,最后使用 writeValueAsString() 方法将修改后的 JsonNode 对象转换成 JSON 字符串并打印出来。
请注意,这里我们假设 JSON 字符串中的 key 是唯一的,如果有多个相同的 key,只会删除第一个匹配的 key。
阅读全文