python Json报错json.decoder.JSONDecodeError
近期工作中遇到一个问题,执行json.loads(json_data)时,在json_data中加上tab空格后就报错,不加则不报错
一、json.loads(json_data) 报错json.decoder.JSONDecodeError: Invalid control character at: line 25 column 18 (char 18)
原因:json默认使用的是严谨格式,json_data键值中有非法控制符号如\n\t, 当跨语言传递数据时,就容易报出这个错误。
解决方法:加上参数 strict
json.loads(json_data, strict=False)
二、json.dumps(data) 将汉字转为unicode编码
原因:json默认会进行字符转换
解决方法: 添加 ensure_ascii 参数
json.dumps(data, ensure_ascii=False)