当前位置: 首页 > news >正文

商丘做网站公司缅甸今日新闻

商丘做网站公司,缅甸今日新闻,做网站找合作伙伴,个人可以做外贸网站吗日常工作中,我们经常会遇到http请求会返回大量格式固定的数据,而我们只需要其中的一部分,那么怎么提取我们想要的字段呢。 这里会介绍一种用shell脚本处理http请求返回,或者处理json格式数据的方式。 这里我们用到了 jq这个强大的…

日常工作中,我们经常会遇到http请求会返回大量格式固定的数据,而我们只需要其中的一部分,那么怎么提取我们想要的字段呢。
这里会介绍一种用shell脚本处理http请求返回,或者处理json格式数据的方式。
这里我们用到了

  1. jq这个强大的命令行JSON处理器
  • 使用.data.list选择JSON数据中的list数组。
  • 使用map(select(...))对数组中的每个对象进行筛选,只保留那些element字段包含"/base"的对象。
  • 使用map(.num)选择每个筛选后对象的num字段。
  • 使用add将所有筛选出来的coverageClassTotalNumber相加,得到总和。
  • 使用-r选项让jq输出原始文本,而不是JSON格式的字符串。
  1. if - fi:判断语句,
  2. -ne:不等于的判断,
  3. echo: 输出信息到屏幕语句,
  4. -z:字符串长度为0的判断,

例如:有一个url,这个url的id参数是可支持修改传入的:

https://abcdefg.com/api?id=$id

他的返回为:

{"status": 200,"message": "success","data": {"total": 80,"list": [{"element": "/base","pid": 1,"id": 2,"type": 3,"num": 11},{"element": "/handler","pid": 1,"id": 29,"type": 3,"num": 132},.........{"element": "/dao","pid": 1,"id": 89,"type": 3,"num": 231} ,{"element": "/runner","pid": 1,"id": 89,"type": 3,"num": 145}         ]},"timestamp": 1716818758408
}

这个返回值的“data”有上千行,而我门只需要其中所有"element"为“/base"路径,且字段为“num“的值的和。
这时,我们就可以用一个shell脚本来实现我们的诉求。

count.sh代码如下:

#!/bin/bash # 检查是否提供了参数  
if [ -z "$1" ]; then  echo "请提供参数."  exit 1  
fi  id="$1"  # URL  
url="https://abcdefg.com/api?id=$id"  # 发送curl请求并捕获输出到临时文件  
curl --location "$url" --header 'accept: */*' --header 'accept-language: zh-CN,zh;q=0.9' > temp_response.json  # 检查curl的返回值,确保请求成功  
if [ $? -ne 0 ]; then  echo "curl请求失败"  exit 1  
fi  # 使用jq计算符合条件的coverageTotalNumber之和  
totalNumber=$(jq -r ".data.list | map(select(.element | contains("base"))) | map(.num) | add" temp_response.json)  # 检查jq命令是否成功执行  
if [ $? -ne 0 ]; then  echo "jq命令执行失败"  exit 1  
fi  # 打印结果或保存到文件  
echo "符合条件的总数为: $totalNumber%"  
# 如果需要保存到文件,可以这样做:  
echo "$totalNumber" > totalNumber.txt  # 清理临时文件  
rm temp_response.json

可以在终端使用下面命令来执行

sh count.sh 123
  • 如果你收到错误 jq: command not found,这意味着你的系统中没有安装 jq 工具。jq 是一个强大的命令行 JSON 处理器,它允许你解析、过滤、查询和修改 JSON 数据。
    为了解决这个问题,你需要安装 jq。以下是在不同操作系统上安装 jq 的方法:

在 Debian/Ubuntu 系统上安装 jq:
使用 apt-get 安装:

sudo apt-get update  
sudo apt-get install jq

在 Red Hat/CentOS 系统上安装 jq:
使用 yum 安装(对于较新版本的 CentOS,可能需要使用 dnf 代替 yum):

sudo yum install jq  
sudo dnf install jq

在 macOS 上安装 jq:
使用 Homebrew 安装:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"  
brew install jq
http://www.ds6.com.cn/news/49212.html

相关文章:

  • 中国室内设计网欧式快排seo软件
  • 鲅鱼圈网站开发40个免费网站推广平台
  • php做网站后台教程seo入门书籍
  • 做微商哪个网站比较好企业网站设计制作
  • 从手机上可以做网站吗百度推广和优化哪个好
  • 建站工作室长沙seo管理
  • t型布局网站的优缺点站长工具四叶草
  • html颜色代码上海关键词seo
  • 商丘在线商城优化搜索点击次数的方法
  • 望野博物馆要门票吗上海seo优化bwyseo
  • 网站设置快捷方式到桌面百度关键词搜索排名查询
  • 去政府做网站技术会荒废吗推广普通话黑板报
  • 绵阳哪里可以做网站的地方搜狗站长管理平台
  • jsp做网站组件百度搜索引擎关键词
  • wordpress建站安全性舆情分析
  • 新乡手机网站建设电话seo关键词搜索和优化
  • 企业网站策划大纲模板域名服务器地址查询
  • 怎么申请网站空间域名网络平台营销
  • 工装公司经营范围苏州seo门户网
  • 企业营销网站建设高端网站建设公司
  • 高端网站设计公司如何做好互联网营销
  • 简约大气风格网站模板莆田seo
  • 长春怎么做网站海淀seo搜索引擎优化公司
  • 成都疾控最新通告营销网站seo推广
  • 星悦做任务网站是最近最火的关键词
  • 台州seo管理网站优化招商
  • 蓝奏云注册网站做网络推广
  • 网站推广有哪些方法长沙网站推广seo
  • 视频网站建设工具怎么建网站教程图解
  • 电商类网站怎么做推广刷粉网站推广