Some utilities for JSON pointers described by RFC 6901
Provides some additional stuff i needed but is not included in node-jsonpointer
$ npm install json-pointer
$ component install manuelstofer/json-pointer
var pointer = require('json-pointer');
Looks up a json pointer in an object
var obj = {
example: {
bla: 'hello'
}
};
pointer.get(obj, '/example/bla');
Sets a new value on object at the location described by pointer
var obj = {};
pointer.set(obj, '/example/bla', 'hello');
Creates a dictionary object (pointer -> value)
var obj = {
hello: {bla: 'example'}
};
pointer.dict(obj);
// Returns:
// {
// '/hello/bla': 'example'
// }
Just like:
each(pointer.dict(obj), iterator);
Tests if an object has a value for a json pointer
var obj = {
bla: 'hello'
};
pointer.has(obj, '/bla'); // -> true
pointer.has(obj, '/non/existing'); // -> false
Escapes a reference token
pointer.escape('hello~bla'); // -> 'hello~0bla'
pointer.escape('hello/bla'); // -> 'hello~1bla'
Unescape a reference token
pointer.unescape('hello~0bla'); // -> 'hello~bla'
pointer.unescape('hello~1bla'); // -> 'hello/bla'
Converts a json pointer into a array of reference tokens
pointer.parse('/hello/bla'); // -> ['hello', 'bla']
Builds a json pointer from a array of reference tokens
pointer.compile(['hello', 'bla']); // -> '/hello/bla'