我有一个问题字符串看起来像这样
'{"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 :(得分:1)
字符串在unicode-escape解码后看起来像一个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'])
'忍 讓對方'