首页 > 解决方案 > 在 jq 中对 JSON 对象进行排序

问题描述

我有简单的 JSON 对象:

{
  "dir1/somepath1": 1.2,
  "dir2/somepath2": 3.5,
  "dir2/somepath3": 1.0,
  "dir5/somepath4": 10.1,
  "dir10/somepath5": 30.1
}

我想对其进行排序,使其看起来像:

{
  "dir10/somepath5": 30.1,
  "dir5/somepath4": 10.1,
  "dir2/somepath2": 3.5,
  "dir1/somepath1": 1.2,
  "dir2/somepath3": 1.0  
}

更新:

我不明白为什么我被否决了

我有合适的头衔,我有合适的身体,我有合适的标签。

知道的人jq可以回答这个问题,但我已经找到了答案。将等待 2 天并标记问题已解决。

标签: jsonsortingkeyjq

解决方案


我设法回答了我自己的问题
jq 'to_entries | sort_by(.value) | reverse | from_entries'

https://jqplay.org/s/OTbaGREIUH


推荐阅读