JSON array group by
json-array-group-by · version 1.0.0 · JSON & JSONL · free, no key needed
Group an array of JSON objects by exact keys.
Use when you need to: json array group by · group json array by keys · bucket json objects.
Supported
- json array group by
- group json array by keys
- bucket json objects
Not supported
- group by expression
- aggregation functions
Behavior
- Groups objects into an array of group records. Each group record has the join keys and a "group" key containing the matching objects.
- Matches objects based on strict equality of the specified keys.
- Output array is ordered by the first appearance of each key tuple.
- The grouped items within each group retain their original relative order.
- Missing or null keys are grouped together and treated as the string 'undefined' or 'null'.
Input
array(array of object, required): max items 10000keys(array of string, required): min items 1; max items 32; each min length 1group_name(string, optional): min length 1; max length 64; default"group"
Output
result(array of object, required)groups_count(integer, required)
Limits
- max array items: 10000
- max output items: 10000
- max keys: 32
Example
Request input:
{
"array": [
{
"id": 1,
"v": "A"
},
{
"id": 2,
"v": "B"
},
{
"id": 1,
"v": "C"
}
],
"keys": [
"id"
]
}
Response:
{
"result": {
"result": [
{
"id": 1,
"group": [
{
"id": 1,
"v": "A"
},
{
"id": 1,
"v": "C"
}
]
},
{
"id": 2,
"group": [
{
"id": 2,
"v": "B"
}
]
}
],
"groups_count": 2
}
}
How to call it
MCP
Connect https://computefirst.net/mcp (setup), then call execute with:
{
"id": "json-array-group-by",
"version": "1.0.0",
"input": {
"array": [
{
"id": 1,
"v": "A"
},
{
"id": 2,
"v": "B"
},
{
"id": 1,
"v": "C"
}
],
"keys": [
"id"
]
}
}
HTTP (no key)
curl -X POST https://computefirst.net/v1/tools/json-array-group-by/versions/1.0.0/execute \
-H "Content-Type: application/json" \
-d '{"array":[{"id":1,"v":"A"},{"id":2,"v":"B"},{"id":1,"v":"C"}],"keys":["id"]}'
The machine-readable contract is at /v1/tools/json-array-group-by/versions/1.0.0.
CLI
node cli.mjs run json-array-group-by 1.0.0 --input input.json --base-url https://computefirst.net
Get the client at /clients/cli/.
Related tools
- JSON array group count: Group an array of JSON objects by exact keys and return the count.
- JSON array sort objects: Stably sort an array of objects by explicit string keys using UTF-16 lexicographic order.
- JSON array anti join: Anti join two JSON arrays of objects on exact keys.
- JSON array distinct by: Deduplicate a JSON array of objects based on specific keys.
- JSON array filter equals: Filter JSON array objects where a key equals a specific value.
- JSON array inner join: Inner join two JSON arrays of objects on exact keys.