J’ai un object json très long et compliqué mais je veux seulement obtenir les éléments / clés au premier niveau!
Exemple:
{ "1": "a", "3": "b", "8": { "12": "c", "25": "d" } }
Je veux obtenir 1,3,8 comme résultat!
J’ai trouvé ce code:
for key, value in data.iteritems(): print key, value
Mais il imprime toutes les clés (également 12 et 25 )
Il suffit de faire un simple .keys()
>>> dct = { ... "1": "a", ... "3": "b", ... "8": { ... "12": "c", ... "25": "d" ... } ... } >>> >>> dct.keys() ['1', '8', '3'] >>> for key in dct.keys(): print key ... 1 8 3 >>>
Si vous avez besoin d’une liste sortingée:
keylist = dct.keys() keylist.sort()
for key in data.keys(): print key
Un bon moyen de vérifier si un object python est une instance d’un type consiste à utiliser isinstance()
qui est la fonction intégrée de Python. Pour Python 3.6:
dct = { "1": "a", "3": "b", "8": { "12": "c", "25": "d" } } for key in dct.keys(): if isinstance(dct[key], dict)== False: print(key, dct[key]) #shows: # 1 a # 3 b