J'ai ce morceau de code:
for element in json[referenceElement].keys():
Lorsque je lance ce code, j'obtiens cette erreur:
TypeError: type inshashable: 'dict'
Quelle est la cause de cette erreur et que puis-je faire pour la réparer?
De l'erreur, je déduis que referenceElement
est un dictionnaire (voir repro ci-dessous). Un dictionnaire ne peut pas être haché et ne peut donc pas être utilisé comme clé pour un autre dictionnaire (ou lui-même d'ailleurs!).
>>> d1, d2 = {}, {}
>>> d1[d2] = 1
Traceback (most recent call last):
File "<input>", line 1, in <module>
TypeError: unhashable type: 'dict'
Vous vouliez probablement dire soit for element in referenceElement.keys()
ou for element in json['referenceElement'].keys()
. Avec plus de contexte sur les types json
et referenceElement
ainsi que sur leur contenu, nous pourrons mieux vous aider si aucune des solutions ne fonctionne.
Ce qui me semble, c’est que lorsque vous appelez la méthode des clés, vous retournez à python) un objet dictionnaire lorsqu'il cherche une liste ou un tuple. Essayez donc de prendre toutes les clés du dictionnaire, en les mettant dans une liste puis en utilisant la boucle for.