Filter a JSON array of records by a field condition — equals, contains, greater/less than, exists — without learning a query language. Keep or remove the matches.
Show calculation steps
Processed privately in your browser — nothing you paste is uploaded, logged or stored.
Filtering without syntax
Sometimes you have a list of records and one question: which ones have dept equal to “Editorial”? No query language should be required for that. Fill in the field (dot paths reach nested objects), pick a condition — equals, contains, greater/less than, exists, missing — enter the value, and choose whether matches are kept or removed.
Worked example
dept equals Editorial against a team list:
[
{ "name": "Asha", "dept": "Editorial", "posts": 97 },
{ "name": "Meera", "dept": "Editorial", "posts": 41 }
]Stats: 2 of 4 records matched.
When to use it
- Cutting an API list response down to the records you actually need.
- Finding records with a missing or null field (“is missing” condition) — the data-quality classic.
- Removing rows before converting with the CSV or Markdown table converters.
Limitations to know
- One condition per run — chain runs for AND logic; for OR and array-aware filters, graduate to the JSONPath Tester.
- Numeric comparisons apply to real JSON numbers only; “42” in quotes is a string by definition.
Common errors and fixes
- “No records matched” — field paths are case-sensitive, and “contains” works on string fields only; the warning restates both.
- Input is an object, not a list — run it through the Object to Array Converter first.
How to use the JSON Query Filter
- Paste a JSON array of records (objects).
- Enter the field (dot paths like user.city work), pick a condition, and enter the value.
- Choose whether to keep or remove the matching records.
- Click "Filter records" — the stats line shows how many matched.
Frequently asked questions
How is this different from the JSONPath Tester?
No query language: you fill in field / condition / value and the tool does the rest. The JSONPath Tester is more powerful (any expression, any nesting) but requires knowing the syntax. Same job, different audience.
What conditions are available?
Equals, not-equal, contains (case-insensitive, for text), greater/less than (numbers), exists, and is-missing/null. Numeric comparisons only apply to actual JSON numbers — "42" in quotes is a string and will not match a greater-than.
Can I filter on nested fields?
Yes — dot paths reach into nested objects: user.address.city looks inside each record. Paths into arrays are not supported here; that is JSONPath Tester territory.
Can I apply multiple conditions?
Chain runs: filter once, then feed the output back as input for the next condition (logical AND). For OR logic or complex combinations, use the JSONPath Tester's || operator.