Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

jsonkey

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

jsonkey

Promised json key search

  • 0.0.2
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

JSONKey Build Status npm version

Sauce Test Status

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(/*timeout: Number*/);

Create a json parser.

params
  • timeout :Number :Optional(Default 100)

    All promise created by key method will be rejected when specified milliseconds was past before key was found.

key

var findingName = parser.key(/*key: String*/);

Create promise for value corresponding to specified key.

params
  • key :String :Required

    You can use dot notation for nested object and brackets for array index.

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);
// "LastName is aaa"
// "Fist favorite is book"
// "address is not found"

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);
// => "TotalPrice is: 16"

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

Keywords

FAQs

Package last updated on 12 Dec 2014

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc