Python JSON ne récupère que les clés au premier niveau

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