https://github.com/moappi/json-filter
Filtering for JSON objects
https://github.com/moappi/json-filter
javascript json node-js node-module nodejs
Last synced: about 1 year ago
JSON representation
Filtering for JSON objects
- Host: GitHub
- URL: https://github.com/moappi/json-filter
- Owner: moappi
- Created: 2017-02-04T01:09:09.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2021-08-25T19:52:21.000Z (almost 5 years ago)
- Last Synced: 2025-03-25T12:46:44.409Z (about 1 year ago)
- Topics: javascript, json, node-js, node-module, nodejs
- Language: JavaScript
- Size: 9.77 KB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
json-filter
=========
Usage (browser)
------------
let filter = new JSON.filter({"allowed":"$string"});
let output = filter.apply({"allowed":"this is allowed","notallowed":"this is not allowed"});
//output = {"allowed":this is allowed"}
Usage (node.js)
------------
npm install node-json-filter
JSON.filter = require("node-json-filter");
What is json-filter?
--------------
json-filter extends JSON with a filter function that will helps validate 'unverified' JSON objects.
+ Verifies object name and value type
+ Allows for multiple types of objects (arrays, json objects, strings, numbers etc..)
+ Verifies array objects with a single filter
+ Able to verify complex json objects (nested arrays, objects etc..)
+ Allows for simple switch cabilitity (case & default)
Usage
-----
```javascript
//If using in NODE.js (otherwise ignore)
JSON.filter = require('node-json-filter');
var filter = new JSON.filter( {
"str":"$string",
"num":"$number",
"bool":"$boolean",
"obj":{"str":"$string"},
"arry":["$string"],
"arryobj":[
{"str":"$string"}
],
"complex":{
"arry":[
{"num":"$number"}
],
"obj":{"str":"$string"},
"num":"$number"
},
"parsing":[{
"num":"$number",
"bool":"$boolean",
"str":"$string"
}],
"all":{
"$all":{
"str":"$string",
"num":"$number"
}
},
"default":{
"$default":{
"str":"$string",
"num":"$number",
"$default":"$string"
}
}
});
console.log( filter.apply({
"str":"test",
"num":123,
"bool":true,
"obj":{"str":"test"},
"arry":["test","me","out],
"arryobj":[
{"str":"test1"},
{"str":"test2"},
{"str":"test3"}
],
"complex":{
"arry":[
{"num":12},
{"num":"123"},
{"num":12.3}
],
"obj":{"str":"test123"},
"num":"12.5"
},
"parsing":[
{"num":"12",
"bool":"true",
"str":"some str"},
{"num":"12.5",
"bool":"false"},
{"num":"don't show this one",
"bool":0},
{"bool":1},
{"bool":"don't show this one"}
],
"all":{
"test1":{
"str":"test",
"num":123
},
"test2":{
"str":"test",
"num":1234
}
},
"default":{
//Specified directly (case)
"str":"testy",
"num":123,
//Covered by $default
"someother":"stuff",
"plusthis":"stuff"
},
"filterout":"you won't see this property"
}));
```