Given this JSON data in the file data.json
:
[ { "id": 1, "entityType": "cat" }, { "id": 2, "entityType": "dog" }, { "id": 3, "entityType": "bird" }, { "id": 4, "entityType": "cat" }]
How would return an array sorted by some non-alphabetic arbitrary order (e.g dogs, birds and then cats)?
I've tried various permutations along the lines of:
jq --argjson order '["dog", "bird", "cat"]''. | sort_by( index($order[], .entityType) )' data.json
but without any joy.