Filter JSON
Simple JSON Object and Array filter.
Features
- Filter JSON that contains comments.
- Filter Values
- Filter Attributes
- Filter Non Empty values
- Filter only Strings, Arrays, Numbers, Objects, Booleans
- Do Custom Filter.
- Filter Object
- Filter List items
- Filter Collections
Usage
- Right click on a file and select
Filter Values command to filter json based on List Filter Types values.
- Select the json object you need to filter and right click and select
Filter Values command to filter the selected json object.
- Select
Filter Attributes command to filter Object keys.
- Filtering Type :
NonEmpty, Boolean, Strings, Numbers, Arrays, Object.
- Custom Filter shows a quick pick items where we can provide our own custom logic to filter the data.
Custom Filter
- Right click on a file and select
Do Custom Filter command from Filter JSON submenu.
- A quick pick items shows up where we can provide our own custom logic to filter the data.
- We can also save our custom filter codes in settings using
filter-json.settings.customFilters vscode settings which will shows up in the quick pick items.
- Please use conditional operators to filter with multiple conditions.
Filter Array
- predefined variables
item, key, val, value, x is equal to a.
_, lodash, dash - Lodash is exposed.
- Checks
isArray, isList will be true in array filter order
isObject will be false in array filter order
isAllNumber - returns true if all the items in a list are numbers
isAllString - returns true if all the items in a list are string
isAllList - returns true if all the items in a list are list
isAllObject, isCollection - returns true if all the items in a list are objects
- examples:
// filter Truthy values
[ "", "Hi", 1, 0, false, true, [], {}, null ]
// filter code = Boolean(a)
// filter to [ "Hi", 1, true, [], {} ]
// filter only string
[ "", "Hi", 1, 0, false, true, [], {}, null ]
// filter code = _.isString(item) or typeof item === "string"
// filter to [ "", "Hi"]
Filter Object
predefined variables
key - Object first key
val, value - Object first value
item - { key: key, val: val, value: val }
a, x is equal to item
_, lodash, dash - Lodash is exposed.
Checks
isArray, isList will be false in object filter order
isObject will be true in object filter order
isAllNumber - returns true if all the values in a object are numbers
isAllString - returns true if all the values in a object are string
isAllList - returns true if all the values in a object are list
isAllObject, isCollection - returns true if all the values in a list are objects
examples:
// filter by keys
{ "name": "first item", "id": 1, "label": "foo" }
// filter code = ["name", "id"].includes(key)
// filter to { "id": 1, "name": "first item" }
// filter by value length
{ "name": "foo", "id": 1, "label": "first item" }
// filter code = isAllString ? val === "foo" : true
// filter to { "name": "foo" }
Enjoy!
| |