java中用jsonPath解析json的路径,修改json中对应的值

import com.jayway.jsonpath.DocumentContext;
import com.jayway.jsonpath.JsonPath;

DocumentContext ext = JsonPath.parse(map);
JsonPath p = JsonPath.compile("$..responseParameterList[[email protected]==\""+classMap.get("identifier")+"\")]");      //根据该节点找到属于该节点的map集合
ext.put(p,"remark",classMap.get("remark"));    //替换集合中该子节点"remark"的值为classMap.get("remark")得到的值  



DocumentContext ext = JsonPath.parse(map);
JsonPath p = JsonPath.compile("$.remark");   //根据表达式找到该节点
ext.set(p,"1")   //替换该节点的值为1

 ..                              深层扫描
@                              当前节点由过滤谓词处理。
[?()]   过滤表达式。 表达式必须求值为一个布尔值。
.                  点,表示子节点

这里引用的maven的jar包
 

com.jayway.jsonpath

json-path

2.4.0

                            

                    

                      

你可能感兴趣的:(java中用jsonPath解析json的路径,修改json中对应的值)