Python3中解析含双反斜杠的列表并转换为dict对象
解决方案
直接用Python标准库的json模块就能实现自动化转换,具体操作如下:
- 导入
json模块 - 遍历原列表,对每个带转义符的JSON字符串调用
json.loads()方法——该方法会自动处理\n、\这类转义字符,把字符串解析为Python字典 - 将所有解析后的字典收集成新列表,就能直接通过键访问对应值
代码示例
import json # 示例的特殊列表(元素为带转义符的JSON字符串) peculiar_list = [ '{"persons": "person 1", "note": "first line\\nsecond line"}', '{"persons": "person 2", "note": "test\\tcontent"}' ] # 自动化转换为干净的字典列表 clean_dict_list = [json.loads(item) for item in peculiar_list] # 测试访问目标值 print(clean_dict_list[0]['persons']) # 输出: person 1
说明
json.loads()会自动识别并处理字符串中的转义序列,比如把\\n转换为实际的换行符,同时将符合JSON格式的字符串映射为Python字典对象- 如果原列表中的字符串存在多层转义(比如
"{\"persons\": \"person 1\"}"),json.loads()依然能正确解析,无需额外处理
内容的提问来源于stack exchange,提问作者user321627
相关产品推荐
相关产品推荐

