场景
如何将JSON解析(or 运算)的过程抽象成表达式呢?
就像正则表达式一样,一句话包含千言万语。
工具
使用案例
JSON例子
{
"errcode": 88,
"sub_code": "60011",
"sub_msg": "没有调用该接口的权限",
"errmsg": "ding talk error[subcode=60011,submsg=没有调用该接口的权限]",
"request_id": "5imjny7u9xwa"
}
{
"errcode": 40078,
"errmsg": "不存在的临时授权码"
}
需求
- 多情况匹配(errcode/errcode+sub_code)
- 输出指定的字段(errcode、erromsg/sub_code、sub_msg)
表达式
$.[?(@.errcode == 88 && '90000' <= @.sub_code && @.sub_code <= '99999')]
$.[?(90000 <= @.errcode && @.errcode <= 99999)]
小记
==
表达式 数字不敏感
<=
表达式 数字敏感
场景1:
JSON:"errcode": 88
JSONPath:'0' <= @.sub_code
结果:false
场景2:
JSON:"errcode": 88
JSONPath:0 <= @.sub_code
结果:true