json_提取值
函数名:json_提取值 / json_Get
功能描述
从 JSON 字符串或 JSON 文件路径中提取指定路径的值,支持多级嵌套对象与数组索引访问。
会员等级:🟢 免费版(Free)
语法
excel
=json_提取值(JSON字符串/文件路径, 路径)参数
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| JSON字符串/文件路径 | String | 是 | - | 有效的 JSON 字符串,或 JSON 文件的绝对/相对路径。若该路径对应的文件存在则按文件读取,否则视为 JSON 文本 |
| 路径 | String | 是 | - | JSON 路径,如 user.name、items[0].id |
返回值
String - 路径对应节点的字符串内容;路径不存在时返回"路径不存在"。
使用示例
提取一级属性
公式:
excel
=json_提取值("{""name"":""李雷""}", "name")结果:
李雷多级嵌套路径提取
公式:
excel
=json_提取值("{""user"":{""info"":{""age"":25}}}", "user.info.age")结果:
25数组索引提取
公式:
excel
=json_提取值("{""items"":[{""id"":101},{""id"":102}]}", "items[0].id")结果:
101从 JSON 文件提取
公式:
excel
=json_提取值("D:\data\config.json", "server.host")结果:
192.168.1.1技术说明
- 基于 Newtonsoft.Json.Linq 的
JToken.Parse解析 JSON,使用SelectToken按路径定位节点。 - 路径语法支持点号(
.)表示对象属性层级、中括号([n])表示数组索引。 - 当输入为已存在的文件路径时,使用
File.ReadAllText以系统默认编码(System.Text.Encoding.Default)读取文件内容。 - 当目标节点为对象或数组时,返回其序列化后的字符串形式。
错误处理
| 错误场景 | 返回值 |
|---|---|
| JSON 格式无效(JsonReaderException) | 无效的JSON格式 |
| 文件读取失败(IOException) | 文件读取失败 |
| 路径不存在 | 路径不存在 |
| 其他异常 | 处理失败 |