編輯:錯誤沒有出現在提示中,但在下面的Google App Engine環境中。 我有以下的JSON如何使用python json模塊處理帶有轉義Unicode字符的JSON?
>>>dat = r"""{"name":"Something", "data":"For youth \n\nBe a hero! Donate blood!\n\u091c\u092f \u0939\u093f\u0902\u0926! \u0935\u0928\u094d\u0926\u0947 \u092e\u093e\u0924\u0930\u092e\u094d"}"""
它包含Unicode轉義字符。 我想解析這個。所以,我沒有
>>>jsDat = json.loads(js)
然後按照工程
>>>name = jsDat.get('name')
>>>name = name.encode('ascii') #This is because json module handles in unicode
>>>print name
Something
但是,試圖與Unicode數據的領域,那就是「數據」,則顯示錯誤
>>>data = jsDat.get('data')
UnicodeEncodeError: 'ascii' codec can't encode characters in position 366-367: ordinal not in range(128)
我應該如何解析數據?
我根本無法重現您的問題,您確定您在python提示符下執行了此操作嗎? – 2012-08-14 16:18:54
你不能只發布任何帶有錯誤的隨機代碼。您必須發佈產生錯誤的*確切*代碼。 – 2012-08-14 16:24:59
不在提示符上,而是在文件中。我剛剛看到你是對的。在提示符下沒有錯誤。我是在Google App Engine Python環境中完成的。 – Sravan 2012-08-14 16:25:55