6
具有在地圖重複鍵時,json
模塊蟒蛇的行爲一點的規範:的Json在Python:接收/檢查重複鍵錯誤
import json
>>> json.loads('{"a": "First", "a": "Second"}')
{u'a': u'Second'}
我知道這種行爲是在documentation規定:
的RFC指定一個JSON對象中的名稱應該是 唯一的,但沒有規定如何在JSON對象重複名應該 處理。默認情況下,該模塊不會引發異常; 相反,它會忽略所有但對於一個給定名稱的最後一個名稱 - 值對:
對於我目前的項目,我絕對需要確保沒有重複的鍵出現在文件中,並收到一個錯誤/如果是這種情況,例外嗎?這如何實現?
我仍然停留在Python 2.7上,所以一個也適用於舊版本的解決方案對我最有幫助。
謝謝!有沒有可能在錯誤消息上生成一些上下文?例如包含錯誤的地圖名稱(如果有的話)? – theomega 2013-04-24 11:12:35
不容易,因爲鉤子只獲取鍵值對。 (你可以倒出整個列表,這可能會給你一個很好的猜測,它是基於值的集合,但也可能相當大。) – Amber 2013-04-25 06:42:22