informatique:jq
Ceci est une ancienne révision du document !
Table des matières
jq
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" with jq?
Sans group_by
No need to use group_by → https://stackoverflow.com/questions/69423726/howto-count-occurrence-of-grouped-by-key-with-jq/69423860#69423860
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.1633260498.txt.gz · Dernière modification : de cyrille
