今日看点:使用Python处理json字符串中的非法双引号问题
目录
Python处理json字符串中的非法双引号Python json单、双引号问题总结Python处理json字符串中的非法双引号
工作中数据清洗时遇到以下情况:
(资料图)
a = "{"地区": "湖南", "描述": "精通软件开发、"数据挖掘"和分布式"}"
由于读取出的json字符串中包含有非法双引号,在使用json.loads()处理的时候报错
json.decoder.JSONDecodeError: Expecting "," delimiter: line 1 column 29 (char 28)
写了大半个小时的正则都无法解决
后来使用如下方法解决了,一并把json字符串中的换行符、分隔符和双引号都转义了
def deal_json_invaild(data): data = data.replace("\n", "\\n").replace("\r", "\\r").replace("\n\r", "\\n\\r") \ .replace("\r\n", "\\r\\n") \ .replace("\t", "\\t") data = data.replace("": "", "&&testPassword&&")\ .replace("", "", "$$testPassword$$")\ .replace("{"", "@@testPassword@@")\ .replace(""}", "**testPassword**") print(data) data = data.replace(""", r"\"")\ .replace("&&testPassword&&", "": "").replace("$$testPassword$$", "", "").replace("@@testPassword@@", "{"").replace("**testPassword**", ""}") print(data) return data
测试如下:
a = deal_json_invaild(a)
json_data = json.loads(a)> {"地区": "湖南", "描述": "精通软件开发、\"数据挖掘\"和分布式"}
此时转使用json.loads()便不会报错了
Python json单、双引号问题
在 python3 里,一个json是一个字典,形如 {"a":15}
json转换成字符串的话
那么,如果你要将它转换成字符串,也许你用的是str({"a":15}),这样转出来的,可能是是s= "{"a":"15"}",也就是说,里面的kv是单引号的。这个字符串,传到其他地方,再用json.loads(s)的时候会出错,json不支持单引号。
所以,假如你想把一个json结构,转成字符串,传递给远处,然后再重新解析成json结构,应该这样:
s = json.dumps({"a":15})
然后,把数据传到远端,然后再解析回来:
d = json.loads(s)
这样就不会出错了。
也支持列表,能一次性传多个结构
s = json.dumps([{"a":15}, {"b":20}])
然后,把数据传到远端,然后再解析回来:
d = json.loads(s)
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
关键词:
相关新闻
- 今日看点:使用Python处理json字符串中的非法双引号问题
- “结婚后,你不再是我的儿子”:这个“刻薄”的婆婆,点醒了无数人
- 全球今日报丨吸血鬼日记第三季剧情详细介绍(吸血鬼日记第三季剧情分集介绍)
- 记者:76人在探索哈登的交易市场 不一定会把他送到快船去-世界快播报
- 小事记 | 碧桂园澄清森林城市“烂尾” 雅居乐406项物业抵债雅生活 奥园出售奥园健康有变化|当前速递
- 【天天报资讯】“通航”和“农业”的激情碰撞 首届河南航空植保嘉年华在上街开幕
- 【当前热闻】广州海珠举报“黑燃气”有奖!每宗有效举报奖励300元
- 霜满天寸寸青丝愁华年_岁岁青丝愁华年谁的诗
- 目瞪口呆!房企半年业绩曝光,恒大杀回TOP30 天天热头条
- 交大昂立:股东大会关于罢免董事、监事的议案均未获通过 环球今日报
- 罗斯柴尔德桃红香槟(桃红香槟)
- same软件注册(same软件) 焦点热门
- 早期孕妇食谱大全图片(早期孕妇食谱大全及做法)-天天时快讯
- 丰立智能:公司生产的精密减速器产品未应用于人型机器人领域
- 欧元区6月核心CPI升温 欧洲央行“鹰姿”恐难改|天天观点
- 全球热资讯!配额生怎么报名_配额 词语
- 优德精密(300549.SZ)两位高管完成间接减持 合计减持22万股 当前要闻
- 通力股份营收乏力、利润微薄局面短期难改 富烯科技99%依赖于大客户丨上市公司研究院|全球热议
- 每日焦点!mediumheight的用法_mediumheight
- 梦见自己喜欢的明星 梦见自己喜欢的明星来自己家里
- 趣味成语之最 200个成语之最有趣又好记
- 预算周转金是什么(国家预算周转金) 滚动
- 环球热门:韩国最大在野党举行集会 谴责日本将福岛核污染水排海
- 19岁高考生考后放松 花1888元找失足少女嫖娼 ,结果一辈子受到影响 天天快讯
- 目瞪口呆!房企半年业绩曝光,恒大杀回TOP30 天天热头条
- 交大昂立:股东大会关于罢免董事、监事的议案均未获通过 环球今日报
- 米体:签托纳利后纽卡将追求特奥 有意基耶萨但认为尤文要价太高-独家
- 光大京东到家联名信用卡额度是多少?年费怎么收取?
- 生态环境部:我国开展长江流域水生态考核试点工作_天天通讯
- 全球新动态:千禾味业(603027)6月28日主力资金净买入27.40万元
- 海南的朋友!你们要的保姆级徐闻游玩攻略来了!
- 当前信息:世界最丑狗狗比赛:七岁中国冠毛犬丑成冠军!
- 耳机新形态? 苹果音频专利无需在耳朵上戴耳机 苹果声音设备专利可佩戴在衣物上 天天视点
- 玛纳斯县人民法院北五岔法庭:巧调解案结事了 止纷争家庭和谐