charles mirror、maplocal功能、jq命令工具的使用
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返回我们修改后的数据
浙公网安备 33010602011771号