我有Python代碼以下塊:在Python中解析JSON:格式更改後如何讓has_key()再次工作?
data = json.loads(line)
if data.has_key('derivedFrom'):
dFin = data['derivedFrom']
if dFin.has_key('derivedIds'):
這用於JSON的這樣一個塊做工精細:
"derivedFrom": {"source": "FOO", "model": "BAR", "derivedIds": ["123456"]}
現在的格式更改爲:
"derivedFrom": "{\"source\": \"FOO.\", \"model\": \"BAR\", \"derivedIds\": [\"123456\"]
因此Python塊中的最後一行會引發以下異常:
'unicode' object has no attribute 'has_key'
有沒有辦法預處理JSON使has_key
重新工作?
格式如何變化?另外,該塊不是有效的JSON。 – Blender
「更改」格式不是有效的JSON。它根本不會解析。 –
而且'foo.has_key(bar)'至少在Python 2.4中已經被拼寫成'bar in foo'。 –