json_Search函数
函数名:json_搜索 / json_Search
函数功能
在JSON数据中搜索指定内容,支持模糊查询或精确匹配,返回所有匹配的值及其对应路径,便于快速定位数据位置。
参数规范
| 参数名 | 类型 | 必填 | 示例 | 特殊说明 |
|---|---|---|---|---|
json | String | 是 | "{\"user\":{\"name\":\"张三\"}}" | 合法JSON字符串 |
searchValue | String | 是 | "张" | 要查找的内容 |
fuzzyMatch | Boolean | 否 | TRUE | 是否模糊匹配,默认TRUE |
使用案例
模糊搜索
问题描述:在JSON文本中模糊查找包含“张”的所有值 公式演示:
excel
=json_Search("{""user"":{""name"":""张三"",""city"":""北京""}}", "张", TRUE)输出效果:
| 值 | 路径 |
|---|---|
| 张三 | user.name |
精确匹配
问题描述:查找完全匹配“北京”的值 公式演示:
excel
=json_Search("{""user"":{""name"":""张三"",""city"":""北京""}}", "北京", FALSE)输出效果:
| 值 | 路径 |
|---|---|
| 北京 | user.city |
未找到结果
问题描述:查找不存在的值返回提示 公式演示:
excel
=json_Search("{""user"":{""name"":""张三""}}", "李四", TRUE)输出效果:
text
未找到匹配项技术说明
搜索机制
- 递归遍历JSON所有节点(对象、数组、值)
- 支持模糊匹配(
Contains)和精确匹配(Equals) - 返回匹配值及其完整JSON路径(如
user.name)
异常处理
| 错误场景 | 返回值 |
|---|---|
| 非法JSON格式 | "无效的JSON格式" |
扩展应用
结合动态路径解析
excel
=INDEX(json_Search(A1, "关键字", TRUE), 1, 2) // 取第一个匹配项路径大数据JSON筛选
用于快速筛选JSON复杂结构中满足条件的所有节点,便于数据分析和验证。
注:本函数已在WPS 2019+ 和 Excel 365 中测试通过,支持多层嵌套JSON数据结构。