JSON Field Filter
VS Code extension for filtering and previewing specific fields from large JSON files.
Demo

Features
- Hide/show JSON fields via sidebar checkboxes
- Filter out direct empty values by default
- Side-by-side live filtered preview
- Presets for quickly hiding common field sets
Installation
Search for "JSON Field Filter" in the VS Code Extensions view, install from the Marketplace, or via CLI:
code --install-extension hagent.json-field-filter
Usage
- Open a JSON file
- Click the filter icon in the activity bar (left sidebar)
- Click "Extract Fields" to scan the document
- Check fields you want to hide
- Click "Open Filtered File" to see the result
Configuration
| Setting |
Default |
Description |
jsonFieldFilter.presets |
[] |
Presets for quickly hiding common field sets |
jsonFieldFilter.fieldCountThreshold |
5 |
Hide simple (non-object/array) fields from panel if there are fewer than this many. Set to 0 to always show all fields. |
jsonFieldFilter.filterEmptyValues |
true |
Filter out direct empty values from the generated JSON: {}, [], "", and null. |
Presets
Presets let you quickly hide a predefined set of fields. When you apply a preset from the sidebar dropdown, every field whose name appears in the preset's fields list gets marked as hidden. Fields not in the list remain unchanged, so you can layer a preset on top of manual selections.
Example in settings.json:
"jsonFieldFilter.presets": [
{
"name": "Hide Metadata",
"fields": ["_id", "_rev", "_timestamp", "_etag"]
},
{
"name": "Essentials Only",
"fields": ["debug", "trace", "internal", "raw"]
}
]
Field Count Threshold
By default, simple fields (non-object/array) that appear fewer than 5 times across the JSON are hidden from the sidebar panel to reduce clutter. Fields that are already marked hidden (e.g. via a preset) are always shown regardless of count.
Set to 0 to always show all fields:
"jsonFieldFilter.fieldCountThreshold": 0
Empty Values
The sidebar's "Filter out empty values" toggle is on by default. It removes values that are directly empty: empty objects ({}), empty arrays ([]), empty strings (""), and null.
This check is not recursive. If an object or array only becomes empty because child values were filtered out, that parent object or array remains in the output.
To make the default off:
"jsonFieldFilter.filterEmptyValues": false