有的时候想解析 JSON 结构的数据,比如原始数据是这样的。

{
"users": [
{
"name": "Alice",
"age": 25,
"city": "New York"
},
{
"name": "Bob",
"age": 30,
"city": "San Francisco"
}
]
}

我想把里面的所有 name 取出来,变成一行一行的样子。

Alice

Bob

我之前一般的做法是找个网站解析 JSON 数据,还总是半天找不到合适的。或者放到 Idea 里用列编辑的方式删除前后的列,然后再去掉回车,非常之恶心。而且这个东西是个非常简单且常见的需求,给它专门写一段程序解析又感觉不划算。

正好前几天让 帮我写了个程序,自动查找 k8s 里面的一些资源并且做处理。由于 k8s 里很多资源查找出来之后都可以是 json 格式的数据,所以看到 帮我写了个非常简洁有效的 shell 程序,有一行代码是这样的。

json格式解析_json格式解析工具_解析格式是什么

这里有个 jq 命令引起了我的注意,然后我惊讶地发现原来这个就是处理 JSON 数据的一个很好用的命令,居然我在今天才知道,简直太菜了。

比如刚刚的需求,就可以用 jq 轻松完成,我又举例了几个常见用法,应该看下示例就秒懂了。

解析格式是什么_json格式解析工具_json格式解析

jq 还有许多其他用法,基本你能想到的 json 的简单处理它都能搞定了。再配合上管道,shell 脚本就能很好地处理各种 json 数据任务了。同时因为一些 API 接口也都是 json 格式交互的,在搭建一些本地的小工作留处理一些 AI 任务的时候,这个小工具也是特别好用。

同学说不会怎么办?直接问 AI 就好了。就算你从来没写过代码,也不会描述这里的需求,只需要把原始数据格式和你最终想要的格式告诉 AI,jq 脚本就能给你写好了。

json格式解析工具_解析格式是什么_json格式解析

你看json格式解析,通过问 AI 我又了解了原来 jq 也不用非得写成

cat data.json | jq '.users[].name'

直接

jq '.users[].name'data.json

也是可以的。

但无所谓啦,反正以后这些工作都交给 AI 来做了,对我们来说,知道有 jq 这个工具可以做这件事,远比 jq 具体怎么用要重要。

有的时候我问 AI 一些问题,也是想从它的回答中得到一些灵感,比较搜索引擎只能搜索类似「jq 命令怎么使用」json格式解析,却不能直接都给它一个需求让它帮我寻找工具。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注