Pyjo.JSON.Pointer - JSON Pointers¶
import Pyjo.JSON.Pointer
pointer = Pyjo.JSON.Pointer.new({'foo': [23, 'bar']})
print(pointer.get('/foo/1'))
if pointer.contains('/foo'):
print('Contains "/foo"')
Pyjo.JSON.Pointer
is a relaxed implementation of
RFC 6901.
Classes¶
-
Pyjo_JSON_Pointer.
__init__
(data=None)¶ pointer = Pyjo.JSON.Pointer.new() pointer = Pyjo.JSON.Pointer.new({'foo': 'bar'})
Build new
Pyjo.JSON.Pointer
object.
-
class
Pyjo.JSON.Pointer.
Pyjo_JSON_Pointer
(data=None)¶ Pyjo.JSON.Pointer
inherits all attributes and methods fromPyjo.Base
and implements the following new ones.-
__init__
(data=None) pointer = Pyjo.JSON.Pointer.new() pointer = Pyjo.JSON.Pointer.new({'foo': 'bar'})
Build new
Pyjo.JSON.Pointer
object.
-
contains
(pointer)¶ boolean = pointer.contains('/foo/1')
Check if
data
contains a value that can be identified with the given JSON Pointer.# True Pyjo.JSON.Pointer.new({u'♥': 'pyjo'}).contains(u'/♥') Pyjo.JSON.Pointer.new({'foo': 'bar', 'baz': [4, 5]}).contains('/foo') Pyjo.JSON.Pointer.new({'foo': 'bar', 'baz': [4, 5]}).contains('/baz/1') # False Pyjo.JSON.Pointer.new({u'♥': 'pyjo'}).contains(u'/☃') Pyjo.JSON.Pointer.new({'foo': 'bar', 'baz': [4, 5]}).contains('/bar') Pyjo.JSON.Pointer.new({'foo': 'bar', 'baz': [4, 5]}).contains('/baz/9')
-
data
= None¶ data = pointer.data pointer.data = {'foo': 'bar'}
Data structure to be processed.
-
get
(pointer)¶ value = pointer.get('/foo/bar')
Extract value from L</”data”> identified by the given JSON Pointer.
# "pyjo" Pyjo.JSON.Pointer.new({u'♥': 'pyjo'}).get(u'/♥') # "bar" Pyjo.JSON.Pointer.new({'foo': 'bar', 'baz': [4, 5, 6]}).get('/foo') # "4" Pyjo.JSON.Pointer.new({'foo': 'bar', 'baz': [4, 5, 6]}).get('/baz/0') # "6" Pyjo.JSON.Pointer.new({'foo': 'bar', 'baz': [4, 5, 6]}).get('/baz/2')
Numeric key is prefered before string key.
# "number" Pyjo.JSON.Pointer.new({4: 'number', '4': 'string'}).get('4')
-
-
Pyjo.JSON.Pointer.
object
¶ alias of
Pyjo_JSON_Pointer