我在s3
中有一个文件,当解压缩时会有这种格式的文件
{"a": "foo",
"b": "bar",
"c": : "{\"hello\": \"world\"}"}
现在我知道我可以通过执行c
jq '.c | fromjson | .hello'
的值
但是,让我说我想要来自这个json的所有值,a, b, and c
。这是我目前的代码片段:
aws s3 cp s3://somebucket/somekey.gz - | gunzip | jq '[.a, .b]'
如何将c
中的值合并到此表达式中?
答案 0 :(得分:2)
有效JSON结构的我想要来自这个json,a,b和c
的所有值
jq
解决方案:
... | jq '[.a, .b, (.c | fromjson | .[])]'
.[]
- 返回数组/对象的所有值输出:
[
"foo",
"bar",
"world"
]