替换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文件;