对于Java替换(新增)JSON串里面的某个节点操作,可以使用一些三方库,例如Jackson、FastJson等。
下面以Jackson库为例,给出详细攻略。
1. 导入依赖
首先,需要在项目中导入Jackson的依赖,可以使用Maven或Gradle等构建工具进行依赖管理。
Maven的依赖配置:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.11.4</version>
</dependency>
Gradle的依赖配置:
implementation 'com.fasterxml.jackson.core:jackson-databind:2.11.4'
2. 构造JSON串
接下来,需要构造一份JSON串用于操作。下面示例代码中,构造了一个简单的JSON串:
ObjectMapper mapper = new ObjectMapper();
JsonNode json = mapper.createObjectNode()
.put("name", "Alice")
.put("age", 18)
.put("gender", "female");
3. 修改节点值
修改节点值可以使用JsonNode
对象的set
方法,指定节点名称和新的值即可。下面示例代码中,将name
节点的值修改为Bob
:
((ObjectNode) json).set("name", new TextNode("Bob"));
4. 新增节点
新增节点可以使用ObjectNode
对象的put
方法,指定新节点名和节点值即可。下面示例代码中,新增一个city
节点:
((ObjectNode) json).put("city", "Beijing");
5. 获取节点值
获取节点值可以直接读取JsonNode
对象中的属性值。下面示例代码中,获取name
节点的值:
String name = json.get("name").asText();
6. 输出JSON串
最后,将修改后的JSON串输出。下面示例代码中,将修改后的JSON串以字符串形式输出:
String jsonString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(json);
System.out.println(jsonString);
完整代码示例:
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;
import com.fasterxml.jackson.databind.node.TextNode;
public class JsonDemo {
public static void main(String[] args) throws Exception {
ObjectMapper mapper = new ObjectMapper();
JsonNode json = mapper.createObjectNode()
.put("name", "Alice")
.put("age", 18)
.put("gender", "female");
((ObjectNode) json).set("name", new TextNode("Bob"));
((ObjectNode) json).put("city", "Beijing");
String name = json.get("name").asText();
System.out.println("name: " + name);
String jsonString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(json);
System.out.println("json: " + jsonString);
}
}
输出结果:
name: Bob
json: {
"name" : "Bob",
"age" : 18,
"gender" : "female",
"city" : "Beijing"
}
以上就是使用Jackson库进行Java替换(新增)JSON串里面的某个节点操作的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java替换(新增)JSON串里面的某个节点操作 - Python技术站