理想情况下,我想编写一个返回平面列表输出的查询:["abc", "bcd", "cde", "def"]
来自以下JSON示例:
{
"l_l": [
[1,2,3],
[4,5,6]
],
"l_h_l": [
{ "n": [10,2,3] },
{ "n": [4,5,60] }
],
"l_h_m": [
{
"n": {
"1234": "abc",
"2345": "bcd"
}
}, {
"n": {
"3456": "cde",
"4567": "def"
}
}
]
}
我能得到的最接近的是l_h_m[].n.*
,它将我想要的内容作为未列表的列表列表返回:
[
[
"abc",
"bcd"
],
[
"cde",
"def"
]
]
jmespath允许您展平列表列表。当源json以这种方式构造时,查询l_l[]
和l_h_l[].n[]
都会返回展平结果。
答案 0 :(得分:2)
看起来你的解决方案只需要另一个展平操作符。
l_h_m[].n.*[]
返回
[
"abc",
"bcd",
"cde",
"def"
]