网站首页 > 博客文章 正文
有的时候想解析 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 命令怎么使用」,却不能直接都给它一个需求让它帮我寻找工具。
猜你喜欢
- 2024-12-24 go语言序列化json/gob/msgp/protobuf性能对比
- 2024-12-24 Dotnet工具箱:带你探索10大工具分类和73个实时在线小工具
- 2024-12-24 Python数据持久化:JSON
- 2024-12-24 什么是JSON?怎么用Python来编码+解码JSON对象?
- 2024-12-24 序列化与反序列化——FastJSON、Jackson、Gson性能测试
- 2024-12-24 Map转JSON字符串,对象转JSON字符串,JSON.toJSONString()全解决
- 2024-12-24 jQuery学习笔记
- 2024-12-24 为什么JSON.parse会损坏大数字,如何解决这个问题?
- 2024-12-24 【json系列】一文读懂什么是JSON Schema
- 2024-12-24 .NET性能系列文章二:Newtonsoft.Json vs System.Text.Json
你 发表评论:
欢迎- 367℃用AI Agent治理微服务的复杂性问题|QCon
- 358℃初次使用IntelliJ IDEA新建Maven项目
- 357℃手把手教程「JavaWeb」优雅的SpringMvc+Mybatis整合之路
- 351℃Maven技术方案最全手册(mavena)
- 348℃安利Touch Bar 专属应用,让闲置的Touch Bar活跃起来!
- 346℃InfoQ 2024 年趋势报告:架构篇(infoq+2024+年趋势报告:架构篇分析)
- 345℃IntelliJ IDEA 2018版本和2022版本创建 Maven 项目对比
- 342℃从头搭建 IntelliJ IDEA 环境(intellij idea建包)
- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)