json - jq 将数组中的多个对象合并为一个
问题描述
我有一系列 json 文件,我想从中提取一些信息并使用 jq 粘贴到 CSV 中。我需要的数据如下所示:
[{"content":"Apples","_id":"7OLZ","type":"fruit},
{"content":"Oranges","_id":"5BHY","type":"fruit"},
{"content":"Pears","_id":"DJQD","type":"fruit"}]
我希望能够在没有其他键的情况下仅将水果值组合成一个字符串,并在电子表格中占据一个单元格。这些文件还可以在数组中包含可变数量的水果。
"Apples Oranges Pears"
这是可行的吗?我认为,关于 SO的这篇文章很接近,但作为一个不经常使用 json 数据或 jq 的人,我无法拼凑解决方案的实际作用。
非常感谢您的任何见解
解决方案
我的解决方案将“内容”键的所有值放入一个数组中,然后用空格连接数组的元素。
jq '[.[] | .content ]|join(" ")'
输出:"Apples Oranges Pears"
鉴于map(x) 的定义是[.[] | x]
,这是等价的。
jq 'map(.content)|join(" ")'
推荐阅读
- javascript - 我的 restify POST 错误数据在客户端 JavaScript 中不可见
- jenkins - 为从站上的 Jenkins Artifactory 插件获取“目标存储库不能为空”
- ruby - 什么可以使用 ruby 将扩展名 .txt 更改为 .HTML 文件
- haskell - 类型级编程在运行时意味着什么?
- google-sheets - 谷歌表:将参差不齐的数组转换为二维数组
- git - git reset --hard 9f9f9f9f 的 SmartGit 等价物是什么
- draftjs - Draft-js:用片段替换 ContentBlock
- android - 程序类型已经存在:android.arch.lifecycle.LiveData
- ruby-on-rails - Rails是否有可能有一个将参数传递给jquery数据表过滤器的link_to?
- java - 如何在调试模式下查看 target_class 代理变量属性?