利用Java如何替换JSON字符串中的节点

利用Java如何替换JSON字符串中的节点?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

替换JSON字符串里面的某个节点

这里使用的是alibaba的fastjson,使用JSONObject解析替换,这里的key存在就会替换,不存在就新增

  JSONObject object = JSONObject.parseObject(jsonString);
  object.put("name", "张三");
  object.put("phone", "13512345678");
  newJsonString = object.toJSONString();

jsonString是一个JSON串

需要替换子节点的目前没有做尝试

补充知识:读写json文件并新增或覆盖其中的数据节点

1.json转Map

Map map = JSON.parseObject(json);  [使用fastjson]

2.Map转json

String json = JSON.toJSONString(map);  [使用fastjson]

3.读json文件

File file = new File(filePath);

String json = FileUtils.readFileToString(file,"UTF-8");  [FileUtils来自commons-io工具类]

4.写json文件

File file = new File(filePath);

FileUtils.writeStringToFile(file, json, "UTF-8");  [FileUtils来自commons-io工具类]

5.新增json数据节点

使用map.put(key,value),其中key是要添加的key;

6.覆盖json数据节点

使用map.put(key,value)方法,其中key是要覆盖的key;

7.整体思路

使用commons-io的readFileToString方法读取json文件到内存中,使用JSON.parseObject把json转化为Map对象,使用put方法新增或覆盖json数据节点,然后使用JSON.toJSONString把Map对象转化为json,最后使用commons-io的writeStringToFile把更新以后的json串写入json文件;

看完上述内容,你们掌握利用Java如何替换JSON字符串中的节点的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!