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