【发布时间】:2018-11-11 15:39:00
【问题描述】:
是否可以使用jq转如下JSON数据
[
{
"a": null,
"b": [
{
"c": "cc",
"d": "dd1"
},
{
"c": "cc",
"d": "dd1",
"e": "ee",
"f": "ff"
}
]
},
{
"b": [
{
"c": "cc",
"d": "dd2",
"e": "ee",
"f": "ff"
}
]
}
]
进入
[
{
"a": null,
"b": [
[
"cc", "d1"
],
[
"cc", "d1", "ff"
]
]
},
{
"b": [
[
"cc", "d2", "ff"
]
]
}
]
?
请注意,其目的是根据条件使用其项目的某些元素来减少 b 列表。如果d 的值为dd1,则该条件分配字符串d1,否则如果dd2 存在,则分配d2。
以下不成功的尝试证明了这个想法:
$ jq -r '.[].b[] = [.[].b[].c, ?, .[].b[].f?]'
【问题讨论】:
-
到目前为止你尝试了什么?
-
@oguzismail 查看更新后的问题。我不知道如何解决条件部分以及如何单独更新每个元素。