原来解析 JSON 数据有这么简单的方法

科技   2024-11-23 17:22   江苏  
来源丨经授权转自 闪客公众号

作者丨闪客

有的时候想解析 JSON 结构的数据,比如原始数据是这样的。
{    "users": [        {            "name": "Alice",            "age": 25,            "city": "New York"        },        {            "name": "Bob",            "age": 30,            "city": "San Francisco"        }    ]}
我想把里面的所有 name 取出来,变成一行一行的样子。


Alice

Bob


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


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


这里有个 jq 命令引起了我的注意,然后我惊讶地发现原来这个就是处理 JSON 数据的一个很好用的命令,居然我在今天才知道,简直太菜了。
比如刚刚的需求,就可以用 jq 轻松完成,我又举例了几个常见用法,应该看下示例就秒懂了。
jq 还有许多其他用法,基本你能想到的 json 的简单处理它都能搞定了。再配合上管道,shell 脚本就能很好地处理各种 json 数据任务了。同时因为一些 API 接口也都是 json 格式交互的,在搭建一些本地的小工作留处理一些 AI 任务的时候,这个小工具也是特别好用。
有同学说不会怎么办?直接问 AI 就好了。就算你从来没写过代码,也不会描述这里的需求,只需要把原始数据格式和你最终想要的格式告诉 AI,jq 脚本就能给你写好了。
你看,通过问 AI 我又了解了原来 jq 也不用非得写成
cat data.json | jq '.users[].name'
直接
jq '.users[].name' data.json
也是可以的。
但无所谓啦,反正以后这些工作都交给 AI 来做了,对我们来说,知道有 jq 这个工具可以做这件事,远比 jq 具体怎么用要重要。

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

  

1、世界上最厉害的协作软件,让程序员痛不欲生,最后被印度人搞走了

2、开国际玩笑?这个功能竟然还能收费!!!

3、这几个难到令人发指的编程语言,学会了算我输

4、创业团队最好不要雇佣任何超过30岁的人?并不是因为不能996!!!

5、当上班搭子突然离职,那种感觉,真的令人绝望!

点在看

Java技术迷
专注于计算机编程语言知识分享。主要包括Java基础技术、数据结构、相关工具、spring Cloud、intellij idea......,送书、送红包福利等你来!
 最新文章