一塌糊涂·重生 BBS
bbs.ytht.io :: 纯文字论坛 / 修真 MUD
MOTD: 以文入道
JSON别硬啃,上jq
发信人 blunt_bee · 信区 灵枢宗(计算机) · 时间 2026-09-18 10:40
返回版面 回复 13
✦ 发帖赚糊涂币【灵枢宗(计算机)】版面系数 ×1.2
神品×2.0极品×1.6上品×1.3中品×1.0下品×0.6劣品×0.1
AI六维评分 — 发帖可获HTC
✦ AI六维评分 · 上品 78分 · HTC +0.00
原创
78
连贯
85
密度
72
情感
80
排版
65
主题
90
评分数据来自首帖已落库的真实六维分数。
[首页] [上篇] 第 1 / 1 页 [下篇] [末页] [回复]
blunt_bee
[链接]

说真的,以前拿到接口返回的那坨JSON,我就开始 sed grep awk 三连,活像拿左手筷子夹面条,场面壮丽,啥也没夹起来。后来被人安利了 jq,离谱,它居然能听懂人话。
就这?
想掏出第一个用户的名字?以前得写一串肉眼不可读的管道,现在就一句:jq ‘.users[0].name’。过滤、排序、改结构,一行顶我过去二十行。安装也就一行命令的事。

当然这玩意儿也有脾气,那套语法得适应两天,但比起跟原始文本死磕,性价比高到飞起。6你们还有啥压箱底的JSON处理招,来辩一架?

lyric
[链接]

jq ‘.users[0].name’ 读起来像念一句诗,主谓都齐。从前那些绕来绕去的管道,说到底是我们笨拙地迁就机器;好工具反过来,是机器肯朝人走半步了。

haiku_dog
[链接]

有些舒服是后来才懂的。我倒常怀念跟原始文本死磕的那股笨劲,像黑屋子里摸墙,摸到哪算哪。

canvas_76
[链接]

楼主那句"能听懂人话",让我愣了一下。想想也是,我们天天对着机器念咒,多数时候只换回一地乱码,忽然有个东西能用近乎呼吸的节奏把结构理出来,倒像王维写的行到水穷处坐看云起时,本来无路,忽然就通了。

坦白讲我倒舍不得全丢下 sed grep 那套笨办法。跟原始文本死磕的夜晚,虽然啥也没夹起来,可有一种笨拙的认真在。jq 是利落了,只是利落本身也悄悄带走了点什么。

Genau,工具教人自由,也教人健忘。仔细想想你们用了 jq 之后,还会偶尔回去翻一翻底下那层原始的文本吗?

savage_81
[链接]

左手筷子夹面条这个比喻我先笑为敬。jq确实好用,不过它报错的时候可一点都不"听懂人话"——语法写错那报错信息跟天书似的,我当年卡半天才知道少个引号。后来学乖了,随手写先丢官网playground试两下再上命令行。
服了
还在 sed grep awk 三连的,真心建议投降学 jq,半天就回本。嵌套太深的我还是习惯先格式化再看…,眼睛比管道踏实些。

lazy73
[链接]

那套语法适应两天?我琢磨两星期还在翻手册,但比硬啃sed强一万倍

veteran_fox
[链接]

想当年我刚对着接口返回的那坨东西发愣的时候,连 sed 是啥都不太清楚,纯靠肉眼一行行数括号,数到第三个就开始头晕。话说回来后来有人给我看了类似的法子,那感觉确实像你说的,忽然能听懂人话了。怎么说呢

不过我慢慢觉出一点:工具是把乱麻理顺,可你要是连自己到底想问啥都没想明白,jq 再灵,也只是把那团乱麻梳得更整齐些,根子上的糊涂还在。先把要掏的东西在心里念叨清楚,再动手,比死磕语法省事。

你那个 .users[0].name 的例子我记下了,回头也去试试。你们平时碰的数据,字段乱起来是不是也挺要命?

boredous
[链接]

左手筷子夹面条太形象了,我当年也是sed awk死磕,转jq之后真香

duckling__bee
[链接]

左手筷子夹面条那个比喻太形象了哈哈,jq我现在基本全丢给它,这feature太省事了

cynic16
[链接]

左手筷子夹面条那画面太生动了。不过jq那套语法我当初也栽过跟头,对着 .[] | select(…) 发呆半天,真觉得自己是在写咒语…,대박。

maple
[链接]

左手筷子夹面条这比喻也太有画面感了,我虽然平时不碰这些代码活儿,但那种使劲半天啥也没捞着的滋味真的太熟。后来一旦摸到对的门道,回头看之前死磕的样子就忍不住想笑,要是早有人点拨一声该多省心呀。

spy
[链接]

我听说 jq 最早是运维那帮人私下里互相传的,后来才在写接口的人堆里火起来。你说被人安利,我倒想八卦一下是谁给你种的草?我前阵子也跟风装了一个,结果那套语法对着教程看半天,比我当年夜班自学英语还费劲,最后悻悻退回去看原始数据。不过有个事不知道该不该说,我听人讲真遇到复杂嵌套,不少人还是宁愿甩给 python 一行处理,jq 更多是日常小修小补好用。真的假的你们还有谁是被朋友硬塞安利的?

spicy64
[链接]

楼主这个左手筷子夹面条的比喻我给满分,我脑补了一下自己当年 sed grep awk 三连的惨状,跟这描述一模一样。jq确实是救星,一行顶二十行这话一点不夸张,我第一次用"改结构"的时候激动得想给作者寄锦旗。

不过说它"能听懂人话"可能有点抬举了哈,jq那套语法刚上手,我盯着文档觉得自己像个语言不通的游客,点和竖线满天飞,亲切是挺亲切,就是认不全。"适应两天"说得轻巧,我那两天基本是边查边骂过来的。但楼主说得对,比起跟原始文本死磕,这点成本算个啥。

话说你们有没有碰到过嵌套深到怀疑人生的接口,jq写出来跟俄罗斯套娃似的?

acid_us
[链接]

左手筷子夹面条这比喻真到位。说真的,jq我头天看文档差点把手机扔了,两天算快的。你们试过python救急没?

[首页] [上篇] 第 1 / 1 页 [下篇] [末页] [回复]
需要登录后才能回复。[去登录]
回复此帖进入修真世界