Easy JSON2JSON
Description
A python package for deep JSON translation.
You just need to specify you template to get all data from another JSON to avoid doing that manually in your code.
Install
pip install easy-json2json
Usage example
Case #1 Simple JSON
from easyjson2json import Json2Json
source = {"name": "Test Name"} # source JSON
template = {"first_name": "name"} # this is the structure you want your new JSON be
translator = Json2Json(template=template, source=source)
result = translator.get_result()
print(result)
# {'first_name': 'Test Name'}
Case #2 Different structure
from easyjson2json import Json2Json
source = {"name": "Test Name", "address": {"name": "My Street", "number": 23}} # when is not a plain JSON
template = {"first_name": "name", "address_name": ["address", "name"]} # you don't want all that structure
translator = Json2Json(template=template, source=source)
result = translator.get_result()
print(result)
# {'first_name': 'Test Name', 'address_name': 'My Street'}
Case #3 From ugly JSON
from easyjson2json import Json2Json
source = {"name": "My Name", "ADDRESS": {"name": "My Street", "number": 23}} # ugly JSON happens
template = {"name": "name", "address": {"_source": "ADDRESS", "name": "name", "number": "number"}} # you want beautiful JSON
translator = Json2Json(template=template, source=source)
result = translator.get_result()
print(result)
# {'name': 'My Name', 'address': {'name': 'My Street', 'number': 23}}
Case #4 From List in JSON
from easyjson2json import Json2Json
source = {"name": "My Name", "ADDRESSES": [{"name": "My Street", "number": 23}]} # when you have a list
template = {"name": "name", "addresses": {"_source_": "ADDRESSES", "name": "name", "number": "number"}} # then you get that list beautifuly
translator = Json2Json(template=template, source=source)
result = translator.get_result()
print(result)
# {'name': 'My Name', 'addresses': [{'name': 'My Street', 'number': 23}]}