Flatten / Unflatten and Loads / Dumps JSON object with Duplicate Keys
Project description
JSON Duplicate Keys
Flatten / Unflatten and Loads / Dumps JSON object with Duplicate Keys
Installation
pip install json-duplicate-keys
Usage
>>> import json_duplicate_keys
>>>
>>> Jstr = '{"author": "truocphan", "version": "22.3.3", "version": "latest", "release": [{"version": "22.3.3", "version": "latest"}], "snapshot": {"author": "truocphan", "version": "22.3.3", "release": [{"version": "latest"}]}}'
>>> Jobj = json_duplicate_keys.loads(Jstr)
>>> Jobj
{'author': 'truocphan', 'version': '22.3.3', 'version{{{_2_}}}': 'latest', 'release': [{'version': '22.3.3', 'version{{{_2_}}}': 'latest'}], 'snapshot': {'author': 'truocphan', 'version': '22.3.3', 'release': [{'version': 'latest'}]}}
>>>
>>> Jobj["version{{{_2_}}}"] = "22.3.14"
>>> Jobj
{'author': 'truocphan', 'version': '22.3.3', 'version{{{_2_}}}': '22.3.14', 'release': [{'version': '22.3.3', 'version{{{_2_}}}': 'latest'}], 'snapshot': {'author': 'truocphan', 'version': '22.3.3', 'release': [{'version': 'latest'}]}}
>>> json_duplicate_keys.dumps(Jobj)
'{"author": "truocphan", "version": "22.3.3", "version": "22.3.14", "release": [{"version": "22.3.3", "version": "latest"}], "snapshot": {"author": "truocphan", "version": "22.3.3", "release": [{"version": "latest"}]}}'
>>>
>>> Jobj
{'author': 'truocphan', 'version': '22.3.3', 'version{{{_2_}}}': '22.3.14', 'release': [{'version': '22.3.3', 'version{{{_2_}}}': 'latest'}], 'snapshot': {'author': 'truocphan', 'version': '22.3.3', 'release': [{'version': 'latest'}]}}
>>> Jflat = json_duplicate_keys.flatten(Jobj)
>>> Jflat
{'author': 'truocphan', 'version': '22.3.3', 'version{{{_2_}}}': '22.3.14', 'release||$0$||version': '22.3.3', 'release||$0$||version{{{_2_}}}': 'latest', 'snapshot||author': 'truocphan', 'snapshot||version': '22.3.3', 'snapshot||release||$0$||version': 'latest'}
>>>
>>> Jflat['snapshot||release||$0$||version'] = "22.3.14"
>>> Jflat
{'author': 'truocphan', 'version': '22.3.3', 'version{{{_2_}}}': '22.3.14', 'release||$0$||version': '22.3.3', 'release||$0$||version{{{_2_}}}': 'latest', 'snapshot||author': 'truocphan', 'snapshot||version': '22.3.3', 'snapshot||release||$0$||version': '22.3.14'}
>>>
>>> json_duplicate_keys.unflatten(Jflat)
{'author': 'truocphan', 'version': '22.3.3', 'version{{{_2_}}}': '22.3.14', 'release': [{'version': '22.3.3', 'version{{{_2_}}}': 'latest'}], 'snapshot': {'author': 'truocphan', 'version': '22.3.3', 'release': [{'version': '22.3.14'}]}}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for json_duplicate_keys-22.5.28.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | f6decb71618dacb23f3e49a147d5286043efc21b98522b7bb1a8b58d72876346 |
|
MD5 | b2605bc980c94851b59afaa4c2abc683 |
|
BLAKE2b-256 | 99ebd6c4d1c5db5bb561c002595a90e3fca2a0a2d8be3756243f10d354369c0f |
Close
Hashes for json_duplicate_keys-22.5.28-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c6afc1427a753c0e67fc0d4a3380508ac2698cc2db1dec706c8eb5cb3f8458dd |
|
MD5 | 0ae49a71f5a092bbc8dcf07a5ffab58f |
|
BLAKE2b-256 | 725fa5dd0deed9fe62a1dafed51fdae7652adb25405fad6d29c91ef8d5c56731 |