我有一個JSON輸入一個包含字典爲Unicode字符的列表: 例子:解析JSON從unicode字符串作爲字典
input = u'[{
attributes: {
NAME: "Name_1ĂĂÎÎ",
TYPE: "Tip1",
LOC_JUD: "Bucharest",
LAT_LON: "234343/432545",
S70: "2342345",
MAP: "Map_one",
SCH: "1:5000,
SURSA: "PPP"
}
}, {
attributes: {
NAME: "NAME_2șțț",
TYPE: "Tip2",
LOC_JUD: "cea",
LAT_LON: "123/54645",
S70: "4324",
MAP: "Map_two",
SCH: "1:578000",
SURSA: "PPP"
}
}
]
'
如何可以解析這個字符串變成詞典列表?我試圖做到這一點使用:
import json
json_d = json.dumps(input)
print type(json_d) # string object/Not list of dicts
json_obj = json.loads(json_d) # unicode object/Not list of dicts
我不能解析JSON的內容:
print json_obj[0]["attributes"]
TypeError: string indices must be integers
我使用Python 2.7.11。謝謝你的幫助!
只要做'json.loads(輸入)'。轉儲是相反的過程,你不需要它。 – RemcoGerlich
但他會需要正確串化的json。當前輸入沒有包含在引號內的屬性。我想這會是一個問題。 –
您需要使用'json.loads'而不是'json.dumps'。 'load'用於*反序列化*。 'dump'用於*序列化*。您正在將一個unicode字符串*序列化爲一個JSON字符串*。 –