删除转义字符并获取字符串的一部分
remove the escape character and get part of string
我有一个问题字符串看起来像这样
'{"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”,
但需要清理它才能打印出来,
有什么建议么?
谢谢
在 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'])
'忍 讓對方'
我有一个问题字符串看起来像这样
'{"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”,
但需要清理它才能打印出来,
有什么建议么?
谢谢
在 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'])
'忍 讓對方'