TypeError: unhashable type: 'dict', when dict used as a key for another dict [duplicate] TypeError: unhashable type: 'dict', when dict used as a key for another dict [duplicate] json json

TypeError: unhashable type: 'dict', when dict used as a key for another dict [duplicate]


From the error, I infer that referenceElement is a dictionary (see repro below). A dictionary cannot be hashed and therefore cannot be used as a key to another dictionary (or itself for that matter!).

>>> d1, d2 = {}, {}>>> d1[d2] = 1Traceback (most recent call last):  File "<input>", line 1, in <module>TypeError: unhashable type: 'dict'

You probably meant either for element in referenceElement.keys() or for element in json['referenceElement'].keys(). With more context on what types json and referenceElement are and what they contain, we will be able to better help you if neither solution works.


What it seems like to me is that by calling the keys method you're returning to python a dictionary object when it's looking for a list or a tuple. So try taking all of the keys in the dictionary, putting them into a list and then using the for loop.