使用jq如何对对象数组进行排序

using jq how to sort array of object

有一个json对象数组,使用jq如何检查对象是否存在if so returns 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
        }
    ]
}

你需要像这样尝试:

.fruits |= sort_by(.version)

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

引用sort by keys

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

产生:

0.52