【问题标题】:Sort JSON object in jq在 jq 中对 JSON 对象进行排序
【发布时间】:2020-03-06 06:50:50
【问题描述】:

我有一个简单的 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 天并标记问题已解决。

【问题讨论】:

  • 到目前为止你尝试过什么?你可以表明你想要一个递减的数字顺序。
  • java 解决方案我可以在 jq 中给出还是你想要的?
  • 我没有对你投反对票,但我可能猜到为什么问题可能会被否决:在 JSON 中排序 objects 超出了JSON spec 的范围: - 对象是 无序集合。即订购一个无序的集合可能具有视觉/装饰效果,但对应用程序没有实际意义。
  • 您之前似乎已经问过几个问题,但没有一个问题得到接受的答案。对于不接受答案的人提出的问题,这里的人往往不会发布答案
  • I don't understand why I'm getting downvoted. 展示您如何尝试解决手头的问题通常是个好主意。

标签: json sorting key jq


【解决方案1】:

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

https://jqplay.org/s/OTbaGREIUH

【讨论】:

    猜你喜欢
    • 2021-07-26
    • 2018-10-11
    • 2017-06-07
    • 2018-02-13
    • 2011-05-12
    • 2013-07-15
    • 1970-01-01
    • 2017-08-29
    相关资源
    最近更新 更多