JSONKey
Promised json key search.
Usage
In Browser
Use bower.
bower isntall jsonkey
<script src="./bower_components/jsonkey/dist/jsonkey_bundle.js"></script>
JSONKey
will be installed to global.
In Node.js
Use npm.
npm isntall jsonkey
var JSONKey = require("jsonkey");
API
Constructor
var parser = new JSONKey();
Create a json parser.
params
key
var findingName = parser.key();
Create promise for value corresponding to specified key.
params
example
parser.key("name.last")
.then(function(value){
console.log("LastName is " + value);
});
parser.key("favorites[0]")
.then(function(value){
console.log("Fist favorite is " + value);
})
parser.key("address")
.then(function(value){
console.log(value);
},function(){
console.log("address is not found");
})
var jsonString = JSON.stringify({
name:{
last:"aaa",
first:"bbb"
},
age:50,
favorites:["book","beer"]
});
parser.parse(jsonString);
filter, pipe, recovery, map, reduce, etc
promise
generated by key
function is chain-able.
So easily create function chain as functional programming style.
See also APIs of Promisechain.
parser.key("items")
.map(function(item){
return item.price;
})
.reduce(function(acc, price){
return acc + price;
}, 0)
.pipe(function(val){
return "TotalPrice is:" + val;
})
.then(function(result){
console.log(result);
});
var jsonString = JSON.stringify({
items:[
{name:"book", price:10},
{name:"apple", price:3},
{name:"banana", price:2},
{name:"water", price:1},
]
});
parser.parse(jsonString);
on, once, addListener, etc
JSONKey
inherits Node.js's build in EventEmitter
.
So parser works as EventEmitter
itself.
Each key in jsonString will be emitted as event.
example
var parser = new JSONKey();
var parser.on("age", function(age){
console.log("He is " + age + "years old");
});
var jsonString = JSON.stringify({
name:{
last:"aaa",
first:"bbb"
},
age:50,
favorites:["book","beer"]
});
parser.parse(jsonString);
Development
Install Node.js and NPM.
git clone git://github.com/georegeosddev/jsonkey.git
cd jsonkey
npm install
npm run-script build
Licence
MIT