本文概览:介绍了两个jsonpath的包,分别进行get和set操作

 

一、JsonPath语法

JSONPath 是查询 JSON 对象的元素的标准化方式。https://jsonpath.com/ 通过这个网站可以测试jsonpath。

  • $ 表示文档的根元素
  • @ 表示文档的当前元素
  • .node_name['node_name'] 匹配下级节点
  • [index] 检索数组中的元素
  • [start:end:step] 支持数组切片语法
  • * 作为通配符,匹配所有成员
  • .. 子递归通配符,匹配成员的所有子元素
  • (<expr>) 使用表达式
  • ?(<boolean expr>)进行数据筛选

二、读和写操作

  1. json包括对象(map)和数组两大类,所以如下的jsonData 会有 []interface类型和map[string]interface{}两种类型

2.1 读操作

工具包:https://github.com/oliveagle/jsonpath

2.2 写操作

工具包:https://github.com/mdaverde/jsonpath

样例测试。输入信息如下

功能 代码 样例结果
字段覆盖字段-int
字段覆盖字段-string
字段覆盖字段-json
 字段追加-string
字段追加-int

 

分类&标签