gpt4 book ai didi

json - 如何使用 JQ 有效地对 JSON 对象进行排序

转载 作者:行者123 更新时间:2023-12-04 01:56:33 27 4
gpt4 key购买 nike

我有 JSON 格式

{
"a": {
"size":3
},
"b": {
"size":2
},
"c": {
"size":1
}
}

我需要按大小排序,例如:

{
"c": {
"size": 1
},
"b": {
"size": 2
},
"a": {
"size": 3
}
}

我找到了一种方法,例如:

. as $in | keys_unsorted | map ({"key": ., "size" : $in[.].size}) | sort_by(.size) | map(.key | {(.) : $in[.]}) | add

但这看起来很复杂,所以我希望有一种我忽略的更简单的方法?

最佳答案

你可以使用to_entries/from_entries,像这样:

jq 'to_entries|sort_by(.value.size)|from_entries' file.json

to_entries 会将您的输入对象转换为 key/value 对对象列表:

[
{
"key": "a",
"value": {
"size": 3
}
},
...
{
"key": "c",
"value": {
"size": 1
}
}
]

这允许将 sort_by(.value.size) 应用于该列表,然后使用 from_entries 将其转换回对象。

关于json - 如何使用 JQ 有效地对 JSON 对象进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50119067/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com