2017-02-25 50 views
1

的一部分,我有一個問題串像這樣 '{"type":"2","question_id":"\\u5c0d\\u65bc\\u7d93\\u71df\\u4e00\\u6bb5\\u611f\\u60c5\\uff0c\\u59b3\\u89ba\\u5f97\\u6700\\u91cd\\u8981\\u7684\\u95dc\\u9375\\u662f\\u4ec0\\u9ebc\\u5462\\uff1f","text":"\\u5fcd \\u8b93\\u5c0d\\u65b9"}' 我只想文本部分,這是「\ u5fcd \ u8b93 \ u5c0d \ u65b9」, 但需要將其清潔,打印出來, 有什麼建議嗎? 謝謝刪除轉義字符,獲得串

+0

嘗試打印'「\\ \\ u5fcd u8b93 \\ u5c0d \\ u65b9" .decode( 'string_escape')' – Serenity

回答

1

的字符串看起來像Unicode的逃生解碼後JSON:

>>> s = '{"type":"2","question_id":"...","text":"\\u5fcd \\u8b93\\u5c0d\\u65b9"}' 
>>> s.encode().decode('unicode-escape') # `encode` is not needed in python 2.x 
'{"type":"2","question_id":"對於經營一段感情,妳覺得最重要的關鍵是什麼呢?","text":"忍 讓對方"}' 

您可以使用json.loads反序列化JSON:

>>> import json 
>>> print(json.loads(s.encode().decode('unicode-escape'))['text']) 
'忍 讓對方'