java中向json节点添加新的键值

Vin*_*nod 5 java json

我有 JSON 文件:

{
   "id":1,
   "name":"abc",
   "addressDetails":
      {
        "City":"NewYork"
      }
}
Run Code Online (Sandbox Code Playgroud)

我想向节点“addressDetails”添加一个键值(“pinCode”:“414141”)。

我尝试使用:

ObjectMapper mapper = new ObjectMapper();
JsonNode root = mapper.readTree(new File("D://test.json"));
ObjectNode node = mapper.createObjectNode();
node.with("addressDetails").put("pinCode", "414141"); 
Run Code Online (Sandbox Code Playgroud)

但它没有被添加,有什么办法可以做到这一点吗?

nan*_*lin 2

你可以试试

你应该修改文件路径

ObjectMapper mapper = new ObjectMapper();
ObjectNode nodes = mapper.readValue(new File("D:\\test.txt"), 
ObjectNode.class);
nodes.with("addressDetails").put("pinCode", "414141");
mapper.writer().writeValue(new File("D:\\test.txt"), nodes);
Run Code Online (Sandbox Code Playgroud)