1.jq命令行工具
jq官网: https://stedolan.github.io/jq/
jq的语法可以参考官网的文档
-
jq的安装mac 可以使用brew 进行安装linux、windows可以使用git clone 源代码进行编译安装
-
jq的基础语法1> jq ‘.[0]’ :取数组里边的第一个元素2> jq ’ {“xx”:.store.book[0].author,“xxx”:.store.book[1].title}:用于筛选出数据的重新组合
-
jq批量修改字段jq .xxx=“修改的内容”
- jq的翻倍增长:HTTP/HTTPS抓包分析中可以参考具体细节
jq json字符串重组
我们在rest-assured中获取一个json文件,https://github.com/rest-assured/rest-assured/wiki/Usage#json-example
{ "store":{ "book":[ { "author":"Nigel Rees", "category":"reference", "price":8.95, "title":"Sayings of the Century" }, { "author":"Evelyn Waugh", "category":"fiction", "price":12.99, "title":"Sword of Honour" }, { "author":"Herman Melville", "category":"fiction", "isbn":"0-553-21311-3", "price":8.99, "title":"Moby Dick" }, { "author":"J. R. R. Tolkien", "category":"fiction", "isbn":"0-395-19395-8", "price":22.99, "title":"The Lord of the Rings" } ] } }
重组这些字段:
cat test_jq.json |jq '{"usrinfo":(.store.book[0].author+.store.book[0].title)}'
ps: vi编辑器中搜索某个字段使用/待搜索字段
2.使用maplocal的时候注意⚠️的一点:
一开始没有修改Query中的值,因此设置之后,刷新并没有返回本地mock的数据,后来加了*,*号表示允许所有适合条件的接口返回本地的值,因此在雪球app的实战中就出现了两个类似的接口返回了同样的数据的问题
解决:过滤query
两个接口都有symbol字段(猜测字段意思是股票代码列表),这个不适合作为区分而且是有可能完全相同的,两个接口的区别在于,下面的列表多了个X的字段,应该是用于上传下拉操作的启示位置,用这个字段作为参数才是最适合的
3.map mirror的使用
步骤:
选择mirror,save to(本地选择一个文件),如下图:
这个时候抓取到的数据包都会保存到本地,类似于一个本地镜像,如下图所示
我们可以将本地的文件修改后,再使用maplocal返回我们修改后的数据