Skip to content

Latest commit

 

History

History
34 lines (28 loc) · 1021 Bytes

count-each-collection-in-a-json-object.md

File metadata and controls

34 lines (28 loc) · 1021 Bytes

Count Each Collection In A JSON Object

Let's say your JSON file is an object that represents several different collections (arrays) of data.

{
  "users": [ ... ],
  "orders": [ ... ],
  "carts": [ ... ]
}

We can get a nice summary of the counts of those collections using jq. We can do that with the with_entries function. We preserve the key (name) of each collection and then process each list with the length function.

jq '. | with_entries({ "key": .key, "value": (.value | length)})' data.json
{
  "users": 1234,
  "orders": 5432,
  "carts": 89
}

The with_entries function essentially maps over each key-value pair processing it with the given expression. It will then convert that {"key": some_key, "value": 123} mapping back into a key-value pair that gets combined with all the others.

source