跳转至

JsonPath

JSON 是一种轻量级的数据交换格式,因为 JSON 结构清晰、易读易写易解析等优势,大部分第三方返回数据都支持 JSON 格式,而 JsonPath 用于从 JSON 中分析和提取指定信息。

示例

通过一个简单示例,了解在不同场景下如何配置 JsonPath 获取数据作为返回参数值。可参考 JsonPath 在线解析平台,将下方示例数据复制粘贴至左侧 Inputs,根据下方表格编辑调整 JsonPath 语法,右侧 Evaluation Results 是输出结果。

{
    "trade_id": 100202008162234,
    "total_price": 358.85,
    "product": {
        "clothes": {
            "name": "衬衫",
            "price": 198.00
        },
        "drink": {
            "name": "光明牛奶",
            "volume": "250ml",
            "price": 10.95
        },
        "book": [
            {
                "category": "经济",
                "author": "曼昆 N. Gregory Mankiw",
                "name": "经济学原理",
                "price": 89.60
            },
            {
                "category": "教育",
                "author": "曲一线",
                "name": "五年高考三年模拟",
                "price": 60.30
            }
        ]
    }
}
jsonpath 输出结果 数据字段值 说明
$.total_price [ 358.85 ] 358.85 总价格
$.product.drink.name [ "光明牛奶" ] 光明牛奶 饮料商品的名称
$..name [ "衬衫", "光明牛奶", "经济学原理", "五年高考三年模拟" ] 值1:衬衫
值2:光明牛奶
值3:经济学原理
值4:五年高考三年模拟
所有商品的名称
$..price [ 198, 10.95, 89.6, 60.3 ] 值1:198
值2:10.95
值3:89.6
值4:60.3
所有商品的价格
$.product.book[*].name [ "经济学原理", "五年高考三年模拟" ] 值1:经济学原理
值2:五年高考三年模拟
所有书籍商品的名称
$.product.book[0].author [ "曼昆 N. Gregory Mankiw" ] 曼昆 N. Gregory Mankiw 第一本书籍商品的作者
$.product.[-1:].name [ "五年高考三年模拟" ] 五年高考三年模拟 最后一件商品的名称
$.product[?(@.volume)].price [ 10.95 ] 10.95 有容量的商品的价格
$.product[?(@.price < 50)].name [ "光明牛奶" ] 光明牛奶 价格小于 50 的商品的名称
$.product.[?(@.name == '经济学原理')].price [ 89.6 ] 89.6 名称为经济学原理的商品价格
$.product.drink [ { "name": "光明牛奶", "volume": "250ml", "price": 10.95 } ] { "name": "光明牛奶", "volume": "250ml", "price": 10.95 } 注:不建议这么配置 饮料商品的完整信息
$.product.book[*] [ { "category": "经济", "author": "曼昆 N. Gregory Mankiw", "name": "经济学原理", "price": 89.6 }, { "category": "教育", "author": "曲一线", "name": "五年高考三年模拟", "price": 60.3 } ] 值1:{ "category": "经济", "author": "曼昆 N. Gregory Mankiw", "name": "经济学原理", "price": 89.6 } 值2:{ "category": "教育", "author": "曲一线", "name": "五年高考三年模拟", "price": 60.3 } 注:不建议这么配置 书籍商品的完整信息

图片 图片 图片 图片 图片

调试方式 1

通过第三方服务的 API 接口文档,获取返回数据示例(第三方通常提供返回示例数据),复制到 JsonPath 在线解析平台,配置 JsonPath 调试。

例如阿里云 API 市场的快递查询服务,除了正常返回示例中的返回参数,建议同时配置返回参数获取失败时的错误提示。

图片 图片

调试方式 2

在插件中心配置连接时,如果账户和请求配置正确,给请求参数配置默认值,添加希望能获取的返回参数(只需填写返回参数名称),点击 调试(调试也就是调用)。在调试弹窗中,右侧是完整返回数据,左侧是返回参数、JsonPath 和 JsonPath 获取的参数值,调整 JsonPath 直到获取到正确数据作为返回参数值,点击 确定

例如阿里云 API 市场的运营商三要素验证,填写请求参数默认值(身份证号、手机号、姓名),添加希望获取的返回数据,点击 调试,在调试弹窗中调整 JsonPath。

图片 图片