informatique:jq
Table des matières
jq
jq a lightweight and flexible command-line JSON processor.
- Pour faire des requêtes en ligne : https://jqplay.org
Play with jq
members.json:
[
{
"member_id": 123,
"loans":[
{
"date": "123",
"media": [
{ "title": "foo" },
{ "title": "bar" }
]
},
{
"date": "456",
"media": [
{ "title": "foo" }
]
}
]
},
{
"member_id": 456,
"loans":[
{
"date": "789",
"media": [
{ "title": "foo"}
]
}
]
}
]
Howto count occurrence of "grouped by key=value" with jq?
Sans group_by
jq '"foo" as $title | .[] | { id: .member_id, $title, count: [.loans[].media[] | select(.title == $title)] | length }' members.json
{
"id": 123,
"title": "foo",
"count": 2
}
{
"id": 456,
"title": "foo",
"count": 1
}
Avec group_by
jq 'map( (.member_id) as $m | .loans[].media[] | select(.title=="foo") | {id: $m, title: .title} ) |group_by(.id)[] |.[0] + { count: length } ' members.json
informatique/jq.txt · Dernière modification : de cyrille
