Comment accéder aux données JSON imbriquées

Disons que j'ai des données json comme

data = {"id":1,
        "name":"abc",
        "address": {"streetName":"cde",
                    "streetId":2
                    }
        }

Maintenant, je reçois des champs pour être accessible à partir de données json comme : fields = ["id", "name", "address.streetName"]

Comment pourrais-je accéder à la troisième champ (address.streetName) à partir des données json dans le moyen le plus efficace?
data.fields[2] ne fonctionne pas

Une possibilité est que j'construire data[address][streetName] chaîne à l'aide d'une boucle for et do eval, mais est-il un moyen efficace de faire cela?

source d'informationauteur user999491