Flatten/ Unflatten and Load(s)/ Dump(s) JSON File/ Object with Duplicate Keys
Project description
JSON Duplicate Keys
Flatten/ Unflatten and Load(s)/ Dump(s) JSON File/ 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-23.2.7.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 91e3d997d1ecc7979e0f9173caeb7a0d626f58ae90f6715e06c39eba836e417f |
|
MD5 | ba88afe068539a0a99f293515a73d3c5 |
|
BLAKE2b-256 | 671a1709bccb04e7b09145ef38573d5e5e8c90c93ebb20b4d1278110b9a43c85 |
Close
Hashes for json_duplicate_keys-23.2.7-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2dd642b945d9f282a59110fa438183308211435b015a641d6bbf8d99e3faa675 |
|
MD5 | 15c3593df58d69d77cb5b21c379dca5d |
|
BLAKE2b-256 | a7dc27d03930136ef792bd3e3cb5272ed3be725ea2792b0a5890a18b170fa3d0 |