我想使用 JQddd通過查看 -property 中的值來對每個 -json-array進行排序.fff.ggg.hhh.iii。
所以例如看看這個json:
{
"aaa-1": {
"ddd": [
{"fff": {"ggg": {"hhh": {"iii": "100"}}}},
{"fff": {"ggg": {"hhh": {"iii": "1"}}}},
{"fff": {"ggg": {"hhh": {"iii": "10"}}}}
]
},
"aaa-2": {
"ddd": [
{"fff": {"ggg": {"hhh": {"iii": "1000"}}}},
{"fff": {"ggg": {"hhh": {"iii": "333"}}}}
]
},
"aaa-3": {
"ddd": [
{"fff": {"ggg": {"hhh": {"iii": "77"}}}},
{"fff": {"ggg": {"hhh": {"iii": "88"}}}},
{"fff": {"ggg": {"hhh": {"iii": "5555"}}}},
{"fff": {"ggg": {"hhh": {"iii": "1"}}}}
]
}
...
"aaa-n": {
"ddd": [
{"fff": {"ggg": {"hhh": {"iii": "989898"}}}},
...
{"fff": {"ggg": {"hhh": {"iii": "1"}}}},
]
}
}
我想要結束的應該是這樣的:
{
"aaa-1": {
"ddd": [
{"fff": {"ggg": {"hhh": {"iii": "1"}}}},
{"fff": {"ggg": {"hhh": {"iii": "10"}}}}
{"fff": {"ggg": {"hhh": {"iii": "100"}}}}
]
},
"aaa-2": {
"ddd": [
{"fff": {"ggg": {"hhh": {"iii": "333"}}}},
{"fff": {"ggg": {"hhh": {"iii": "1000"}}}}
]
},
"aaa-3": {
"ddd": [
{"fff": {"ggg": {"hhh": {"iii": "1"}}}},
{"fff": {"ggg": {"hhh": {"iii": "77"}}}},
{"fff": {"ggg": {"hhh": {"iii": "88"}}}},
{"fff": {"ggg": {"hhh": {"iii": "5555"}}}}
]
}
...
"aaa-n": {
"ddd": [
{"fff": {"ggg": {"hhh": {"iii": "4"}}}},
...
{"fff": {"ggg": {"hhh": {"iii": "989898"}}}}
]
}
}
我已經嘗試了這些答案的各種組合和變體,但我無法提出解決方案:
- https://stackoverflow.com/a/58665725/504060
- https://stackoverflow.com/a/30332672/504060
- https://stackoverflow.com/a/51125483/504060
我希望我至少能以一種有意義的方式描述這個問題。
有人能幫我嗎?
uj5u.com熱心網友回復:
使用更新|=每個欄位的陣列sort_by,并使用 轉換為數字tonumber:
jq '.[].ddd |= sort_by(.fff.ggg.hhh.iii | tonumber)'
{
"aaa-1": {
"ddd": [
{"fff":{"ggg":{"hhh":{"iii":"1"}}}},
{"fff":{"ggg":{"hhh":{"iii":"10"}}}},
{"fff":{"ggg":{"hhh":{"iii":"100"}}}}
]
},
"aaa-2": {
"ddd": [
{"fff":{"ggg":{"hhh":{"iii":"333"}}}},
{"fff":{"ggg":{"hhh":{"iii":"1000"}}}}
]
},
"aaa-3": {
"ddd": [
{"fff":{"ggg":{"hhh":{"iii":"1"}}}},
{"fff":{"ggg":{"hhh":{"iii":"77"}}}},
{"fff":{"ggg":{"hhh":{"iii":"88"}}}},
{"fff":{"ggg":{"hhh":{"iii":"5555"}}}}
]
},
"aaa-n": {
"ddd": [
{"fff":{"ggg":{"hhh":{"iii":"1"}}}},
{"fff":{"ggg":{"hhh":{"iii":"989898"}}}}
]
}
}
演示
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/448472.html
