Postman 脚本中使用jsonpath提取数据

一、背景

jsonpath 在处理 json 格式的数据方面是无敌的存在,前边我也篇关于 jsonpath 介绍的文章 Json 数据提取神器 jsonpath ,今天介绍 jsonpath 在 Postman 脚本中的应用

二、准备JSONPath脚本

Postman 的脚本是 JavaScript 语言,因此需要准备JS版本的JSONPath

1. JSONPath 源码

JSONPath Github官网

说明:

npm安装指定版本的JSONPath
npm i JSONPath@0.8.0

如果没有nodejs环境,访问下列地址下载源码到本地
js版本的 jsonpath package下载 (v0.8.0)

源码在JSONPath包的 lib/jsonpath.jsjsonpath源码文件

jsonpath.js源码:

/* JSONPath 0.8.0 - XPath for JSON
 *
 * Copyright (c) 2007 Stefan Goessner (goessner.net)
 * Licensed under the MIT (MIT-LICENSE.txt) licence.
 */
function jsonPath(obj, expr, arg) {
   
   var P = {
   
      resultType: arg && arg.resultType || "VALUE",
      result: [],
      normalize: function(expr) {
   
         var subx = [];
         return expr.replace(/[\['](\??\(.*?\))[\]']/g, function($0,$1){
   return "[#"+(subx.push($1)-1)+"]";})
                    .replace(/'?\.'?|\['?/g, ";")
                    .replace(/;;;|;;/g, ";..;")
                    .replace(/;$|'?\]|'$/g, "")
                    .replace(/#([0-9]+)/g, function($0,$1){
   return subx[$1];});
      },
      asPath: function(path) {
   
         var x = path.split(";"), p = "$";
         for (var i=1,n=x.length; i<n; i++)
            p += /^[0-9*]+$/.test(x[i]) ? ("["
  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小青龍

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值