json-source-map 1.0.5

Creator: bradpython12

Last updated:

Add to Cart

Description:

jsonsourcemap 1.0.5

JsonSourceMap
Calculate JSON Pointers to each value within a JSON document along with the
line, column and character position for the start and end of that value. For
more information see: https://github.com/open-alchemy/json-source-map/wiki.
For example:
python -m pip install json_source_map

from json_source_map import calculate


print(calculate('{"foo": "bar"}'))

The above prints:
{
'': Entry(
value_start=Location(line=0, column=0, position=0),
value_end=Location(line=0, column=14, position=14),
key_start=None,
key_end=None,
),
'/foo': Entry(
value_start=Location(line=0, column=8, position=8),
value_end=Location(line=0, column=13, position=13),
key_start=Location(line=0, column=1, position=1),
key_end=Location(line=0, column=6, position=6),
),
}

Where:

each key in the dictionary is a JSON path to an item,
each value in the dictionarty contains the mapping of the item at the JSON
path which have the following properties:

value_start is the start of the value,
value_end is the end of the value,
key_start is the start of the key (which is None at the root level and
for array items),
key_end is the end of the key (which is None at the root level and for
array items) and


each of the above have the following properties:

line is the zero-indexed line position,
column is the zero-indexed column position and
position is the zero-indexed character position in the string
(independent of the line and column).



The following features have been implemented:

support for primitive types (strings, numbers, booleans and null),
support for structural types (array and object) and
support for space, tab, carriage and return whitespace.

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.