我的格式为
的JSONdouble
我需要按大小排序,例如:
{
"a": {
"size":3
},
"b": {
"size":2
},
"c": {
"size":1
}
}
我找到了一种方法,例如:
{
"c": {
"size": 1
},
"b": {
"size": 2
},
"a": {
"size": 3
}
}
但这看起来相当复杂,所以我希望有一种我忽略的简单方法?
答案 0 :(得分:3)
您可以使用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
将其转换回对象。