Skip to content

athoune/jsondiff

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

JsonDiff

Transforma json like data in a set of key/value.

Works with json like data, it should works with msgpack or bson or even tnetstrings.

Exemple

Normalisation

{'age': 42,
'like': {
    'food': 'ramen'},
'name': 'Robert',
'tags': ['pim', 'pam', 'poum']}

Will be transformed to

set([
    ('name', 'Robert'),
    ('age', 42),
    ('tags[2]', 'poum'),
    ('tags[1]', 'pam'),
    ('like.food', 'ramen'),
    ('tags[0]', 'pim')])

Diff

data1 = {"age": 42,
        "name": "Bob",
        "food": "okonomiyaki"
        }
data2 = {"name": "Casimir",
        "Location": "Torcy",
        "age": 42
        }
assert diff(data1, data2) == {
    '-food': 'okonomiyaki',
    'name': 'Casimir',
    '+Location': 'Torcy'}

Key are unique, patch don't have to remove and add data.

Licence

MIT © Mathieu Lecarme 2012

About

build patch from two json data, and apply it.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages