Filter JSON array objects by conditions, numeric thresholds, or text matches
Filter JSON array records based on conditional criteria, status flags, or numeric thresholds.
Interactive Sample Data
| id | customer | status | spent |
|---|---|---|---|
| 101 | Grace Kerubo | active | 1500 |
| 102 | Peter Njoroge | inactive | 250 |
| 103 | Mercy Akinyi | active | 3200 |
How this tool works
Things that usually go wrong
- String comparisons are exact and case-sensitive — use .toLowerCase() for case-insensitive matching.
- Nested fields require dot notation: user.address.city == 'Nairobi'.
Edge cases we tested
Evaluated numerically without string coercion errors.
Traversed cleanly to filter on deeply nested attributes.
Safely evaluated as false without throwing null pointer exceptions.
Frequently Asked Questions
What operators are supported?
==, !=, >, <, >=, <=, .includes(), .startsWith(), .endsWith(), and JavaScript logical operators (&&, ||, !).
Can I filter by multiple conditions?
Yes — combine with && (and) or || (or): status == 'active' && price > 100.
Can I filter by checking if an array field contains a specific value?
Yes — use: tags.includes('finance') to keep only objects where the tags array contains the string 'finance'.
Can I combine multiple conditions with parentheses for precedence?
Yes — full JavaScript expression syntax is supported: (status == 'active' || status == 'pending') && amount > 100.
Related tools
Transpose CSV
Flip a CSV matrix by turning rows into columns and columns into rows.
Open Tool →Pivot a CSV
Summarise long-format CSV data into pivot tables grouped by row and column keys.
Open Tool →Group By and Count
Aggregate CSV rows by one or more group-by columns with count, sum, mean, min, or max.
Open Tool →