java中 json串替换key
时间: 2024-03-01 21:49:37 浏览: 72
【JavaScript源代码】替换json对象中的key最佳方案.docx
在 Java 中,可以使用 JSON 库来解析和操作 JSON 数据。常用的 JSON 库包括 Jackson、Gson、FastJson 等。
下面以 Jackson 为例,介绍如何替换 JSON 中的 key。
假设有一个 JSON 字符串如下:
```
{
"name": "张三",
"age": 20,
"gender": "男"
}
```
现在要将 key `name` 替换成 `username`,可以使用 Jackson 的 `ObjectMapper` 类来实现。代码如下:
```java
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;
import java.io.IOException;
public class JsonReplaceKeyExample {
public static void main(String[] args) throws IOException {
String jsonStr = "{\"name\": \"张三\", \"age\": 20, \"gender\": \"男\"}";
ObjectMapper objectMapper = new ObjectMapper();
ObjectNode root = objectMapper.readValue(jsonStr, ObjectNode.class);
root.put("username", root.get("name"));
root.remove("name");
String newJsonStr = objectMapper.writeValueAsString(root);
System.out.println(newJsonStr);
}
}
```
首先,使用 `ObjectMapper` 的 `readValue` 方法将 JSON 字符串解析为 `ObjectNode` 对象。然后,使用 `put` 方法将新的 key-value 对添加到 `ObjectNode` 对象中,并使用 `remove` 方法删除旧的 key。最后,使用 `writeValueAsString` 方法将修改后的 `ObjectNode` 对象转换为 JSON 字符串。
输出结果如下:
```
{"username":"张三","age":20,"gender":"男"}
```
阅读全文