import json 
from pprint import pprint  

jsonComplex = json.loads("""
    {
        "identityNumber": "05039800000150",
        "companyName": "Razao empresa",
        "tradeName": "Fantasia empresa",
        "responsible": "Rep empresa",
        "freeStateRegistration": true,
        "stateRegistration": "123456789",
        "primaryPhone": "48 32222222",
        "secondPhone": "48 32222222",
        "address": {
            "postCode": "88117030",
            "city": "Nome Cidade",
            "state": "Estado",
            "country": "pais",
            "street": "rua teste",
            "district": "bairro",
            "complement": "Casa",
            "number": 998
        },
        "email": "cliente@clientehost.com",
        "enabled": false,
        "customerType": {
            "referenceCode": "default.customer"
        },
        "priceList": "6",
        "attributeValues": [
            {
                "referenceCode": "campo_do_campo_de_referencia1",
                "value": "valor deste campo"
            },
            {
                "referenceCode": "campo_do_campo_de_referencia2",
                "value": "outro valor para outro campo"
            }
        ]
    }
""")


dados = {
    "identityNumber": "05039800000150",
    "companyName": "Razao empresa",
    "tradeName": "Fantasia empresa",
    "responsible": "Rep empresa",
    "freeStateRegistration": True,
    "stateRegistration": "123456789",
    "primaryPhone": "48 32222222",
    "secondPhone": "48 32222222",
    "address{postCode": "88117030",
    "address{city": "Nome Cidade",
    "address{state": "Estado",
    "address{country": "pais",
    "address{street": "rua teste",
    "address{district": "bairro",
    "address{complement": "Casa",
    "address{number": 998,
    "email": "cliente@clientehost.com",
    "enabled": False,
    "customerType{referenceCode": "default.customer",
    "priceList": "6",
    
}


def mount(dado):
    if '{' in dado:
        
        tag, resto = dado.split('{', 1)
        
        returnjson[tag] = {}
        returnjson[tag] = dados[dado]
        
    else:
        returnjson[dado] = dados[dado]
        
    


returnjson={}
for dado in dados:
    pass


pprint(returnjson)





# python3 generic/gn_complex_json.py
