Linux Shell格式化Json

本文介绍了一种使用Shell脚本结合jq工具来格式化JSON数据的方法,适用于从命令行输出或文件中读取的JSON格式数据。

1.直接以文本形式展现

{"uid":100120,"token":"1fa9fb8004b04f66b7da57393641eddc"}

输入

echo '{"uid":100120,"token":"1fa9fb8004b04f66b7da57393641eddc"}' | jq .

回车显示结果
这里写图片描述
2.如果json保存在文件里比如

abc.json

可以使用

cat abc.json | jq .

即可格式化查看json如图
这里写图片描述

我们平常使用curl测试返回的数据也可以这样格式化输出
编写Shell脚本

result=$(curl http://xxxxx)
echo $result | jq .

保存为文件abc.sh
这里写图片描述

比较清晰了

### 创建和处理 JSON 格式的请求或响应数据包 #### 使用 `curl` 发送带有 JSON 数据的 HTTP 请求 在 Linux 下可以通过命令行工具 `curl` 来发送包含 JSON 负载的 HTTP 请求。为了确保服务器能够正确识别并解析这些负载,在发起请求时需指定合适的 MIME 类型。 对于 POST 方法而言,可利用 `-d` 参数传递要提交的数据,并通过 `-H` 参数设定必要的头部信息: ```bash curl -d '{"key":"value"}' \ http://example.com/api/endpoint ``` 上述命令向目标 URL 发起了一个携带 JSON 对象 `{ "key": "value" }` 的 POST 请求[^4]。 #### 利用编程语言库来构建复杂的 JSON 结构 当面对更复杂的应用场景时,建议采用支持 JSON 序列化的高级编程语言及其配套库来进行开发工作。Python 是一种流行的选择之一,它内置了 json 模块用于轻松转换 Python 字典与 JSON 文本之间相互转化。 下面是一个简单的例子展示怎样借助 requests 和 json 这两个模块完成同样的任务: ```python import requests import json url = 'http://example.com/api/endpoint' payload = {'key': 'value'} headers = { 'content-type': "application/json", } response = requests.post(url, data=json.dumps(payload), headers=headers) print(response.text) ``` 这段脚本同样实现了向特定地址推送 JSON 编码后的键值对的操作[^3]。 #### 解析接收到的 JSON 响应内容 无论是哪种方式获取到的服务端返回结果,只要是以 JSON 形式呈现出来的字符串形式,则都可以调用相应的方法将其转回易于操作的对象结构以便后续逻辑处理。比如继续沿用上面提到过的 python 示例的话,就可以直接访问 response.json() 得到字典型的结果集;而对于 shell 中的情况来说则可能需要用到 jq 工具辅助解析输出流里的 JSON 片段[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值