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)

 

你可能感兴趣的:(python3,json,python)