如何用jtc或Shell工具将JSON转换为指定键值对格式?
解决方案
使用jtc工具
直接利用jtc的字段匹配+模板输出功能即可实现,执行以下命令:
jtc -w'<name> <id>' -T'{0} : {1}' input.json
命令说明:
-w'<name> <id>':精准匹配每个JSON对象里的name和id字段,按顺序提取对应值-T'{0} : {1}':通过模板将提取到的两个值拼接成目标格式,{0}对应name的值,{1}对应id的值
使用jq工具(更通用的Shell JSON处理工具)
如果你的环境中装有jq,这个命令会更直观:
jq -r '.[] | "\(.name) : \(.id)"' input.json
命令说明:
-r:输出纯文本,不带JSON字符串默认的引号.[]:遍历输入JSON数组中的每一个对象"\(.name) : \(.id)":将每个对象的name和id值按指定格式拼接输出
注:你给出的示例输出里Joe的ID写成了26,这应该是笔误,上述命令会按原JSON里的36输出正确结果。
内容的提问来源于stack exchange,提问作者ToddB
相关产品推荐
相关产品推荐

