JSON Property Remover / Picker
Omit or pick JSON properties by dot path with wildcard and array support.
Supports dot paths (a.b.c), array indices (items[0]), and wildcards (items[*].price, tokens.*).
About JSON Property Remover / Picker
JSON Property Editor removes or keeps properties from a JSON document by dot-path. Specify the paths to omit (everything else stays) or the paths to pick (everything else is dropped). Wildcards (`*`) match any key at a level; array indices are supported (`users[0].secret`); double-wildcard (`**`) matches at any depth. Multiple paths can be given on separate lines.
Reach for it whenever a payload contains data you do not want to keep or share: strip `password`, `secret`, or `token` fields before logging; redact PII before pasting into a bug report; pick only the fields you actually need from a verbose API response; trim a fixture to the minimum reproducer of a bug. Property Editor changes which keys exist; JSON Key Renamer changes their names; JSONPath queries values without modifying the document. Three different jobs — pick by which one matches the question.
Examples
doc: {"user": {"name": "Ada", "secret": "shh"}, "id": 42}
paths to omit: user.secret{"user":{"name":"Ada"},"id":42}Single path removed. Switch to *pick* mode to keep only the specified paths and drop everything else.
Frequently asked questions
How is this different from JSON Key Renamer?
Property Editor removes or keeps keys. Key Renamer renames them. Use Property Editor when keys should disappear; use Key Renamer when they should be re-spelled with a different convention.
How is this different from JSONPath?
JSONPath queries the document and returns the matched values; the source document is unchanged. Property Editor modifies the document in place — keeping or removing the specified paths. Read with JSONPath; write with Property Editor.
Do wildcards work across nested structures?
Yes. `users.*.password` removes the `password` field from every entry in `users`. `**` matches at any depth — useful for stripping every occurrence of a sensitive field regardless of where it appears in the tree.
Are arrays supported?
Yes. `items[0]` removes the first element; `items[*]` matches every element. Indexes are zero-based, the same as JSON Pointer convention.
