json_pointer 0.1.0 json_pointer: ^0.1.0 copied to clipboard
A simple library for creating and using json-pointer (See [rfc6901:https://tools.ietf.org/html/rfc6901]).
JSON Pointer #
A simple library for creating and using json-pointer (See rfc6901).
Examples #
// Json Pointer Manipulation
compose(['one', 'two']); // '/one/two'
split('/one/two'); // ['one', 'two']
parent('/one/two'); // '/one'
append('/one', 'two'); // '/one/two'
isValid('/one/two'); // true
// Json Pointer Part manipulation
escape('one/two'); // 'one~1two'
unescape('one~1two'); // 'one/two'
// Get and Set values in a json object
var obj = [
{'foo': 'bar'}
]
get$('/0/foo', obj); // 'bar'
set$('/0/foo', obj, 'baz'); // [{'foo': 'baz'}]
contains('/0/foo', obj); // true
Escaping Examples #
// Compose escapes parts
compose(['one/two', 'three']); // '/one~1two/three'
// Append escapes the added part
append('/one', 'two/three'); // '/one/two~1three'
// Split unescapes parts
split('/one~1two/three'); // ['one/two', 'three']
Traversal #
The library is only able to traverse through objects of type Map
and List
. Functions will generally throw BadRouteError
when attempting to traverse other types. contains
will return false.
class Point {
Point(this.x, this.y);
int x;
int y;
}
contains('/x', Point(0, 0)) // false
contains('', Point(0, 0)) // true, this is ok as Point is never traversed