json - 将对象中的值添加到数组的每个元素中
问题描述
我有一个看起来像这样的 json 对象:
{
"data": {
"id" : 1234,
"details": [
{
"vid": "332",
"long": -79,
"lat": 45
},
{
"vid": "33",
"long": -77,
"lat": 32
}
]
}
}
我想从这些数据中输出一个 csv 文件,如下所示:
"1234","332","-79", "45"
"1234", "33", "-77", "32"
例如,我想从另一个节点的每个数组对象中的一个节点添加一些东西,本质上是对数据进行非规范化。
有没有办法从 json 数据中的其他地方访问一个值?
解决方案
或者没有变量:
jq -r '.data | [.id] + (.details[] | [.vid, .long, .lat]) | @csv' file.json
如果您真的希望引用所有值,只需map(tostring)
在 final 之前添加到管道中@csv
。
推荐阅读
- python - 在单个序列化程序 django 中读取和创建嵌套关系
- php - Atom 编辑器:如何为 php 以不同的方式突出显示单引号和双引号字符串
- express - 如何在猫鼬中添加多个模型?
- pine-script - 如何突出显示计算/值等于两个价格/水平之间的位置?
- uber-api - 无法在悉尼获得 UberPool
- python - 如何在python中为多个散点图制作一个循环?
- image - 如何更改图像中的像素值范围?
- javascript - 移动浏览器分享链接问题
- python - 在 python 3 中使用 pip 导入运行时安装的模块
- tensorflow - 多 GPU 推理张量流