【问题标题】:using jq how to sort array of object使用jq如何对对象数组进行排序
【发布时间】:2021-12-27 07:51:39
【问题描述】:

有一个json对象数组,使用jq如何判断一个对象是否存在,如果存在则返回true else false

我试过了,但是出错了

cat fruits.json | jq '.fruits[]| sort_by(.version)'

我想按降序排序并输出最新版本的价格。

{
    "fruits": [
        {
            "name": "banana",
            "color": "yellow",
            "price": 0.51,
           "version": 1
        },
        {
            "name": "banana",
            "color": "yellow",
            "price": 0.52,
            "version": 2
        }
    ]
}

【问题讨论】:

  • 你的意思是检查version属性是否存在?
  • 类似cat fruits.json | jq '.fruits| sort_by(-.version) | first'?还是我误会了?

标签: jq


【解决方案1】:

cat fruits.json | jq '.fruits | sort_by(-.version)[0].price'

产生:

0.52

【讨论】:

    【解决方案2】:

    你需要试试:

    .fruits |= sort_by(.version)
    

    示例:https://jqplay.org/s/ntjioYhKWq

    参考sort by keys

    【讨论】:

      猜你喜欢
      • 2018-10-11
      • 2020-03-06
      • 1970-01-01
      • 2021-08-10
      • 1970-01-01
      • 2011-12-30
      • 1970-01-01
      • 1970-01-01
      • 2021-07-26
      相关资源
      最近更新 更多