Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

11 Commits

Repository files navigation

json_pointer

A Ruby implementation of RFC 6901: JavaScript Object Notation (JSON) Pointer

Usage

The JSONPointer class represents a JSON pointer that can be evaluated against any parsed JSON document (a Ruby Hash, Array, String, etc):

foo=JSONPointer.new("/foo")object={"foo"=>"Hello, world!"}object2={"foo"=>3.14}string="something"assert_equal"Hello, world!",foo.evaluate(object)assert_equal3.14,foo.evaluate(object2)assert_samestring,JSONPointer.new("").evaluate(string)

The decoded reference tokens can be accessed as an array:

json_pointer=JSONPointer.new("/foo/0/~0/~1")assert_equal["foo","0","~","/"],json_pointer.reference_tokens

Unlike other JSON pointer gems, reference errors are raised to distinguish between actual null values and non-existent/bad references:

object={"foo"=>nil}assert_nilJSONPointer.new("/foo").evaluate(object)e=assert_raises(JSONPointer::ReferenceError){JSONPointer.new("/bar").evaluate(object)}assert_equal"bar",e.reference_token

About

A Ruby implementation of RFC 6901: JavaScript Object Notation (JSON) Pointer

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Contributors

Languages