Python处理JSON时的值报错及编码报错的两则解决实录


Posted in Python onJune 26, 2016

1、ValueError: Invalid control character at: line 1 column 8363 (char 8362)
使用json.loads(json_data)时,出现:

ValueError: Invalid control character at: line 1 column 8363 (char 8362)

出现错误的原因是字符串中包含了回车符(\r)或者换行符(\n)
解决方法:
(1)对这些字符转义:

json_data = json_data.replace('\r', '\\r').replace('\n', '\\n')

(2)使用关键字strict:

json.loads(json_data, strict=False)

strict默认是True,它将严格控制内部字符串,将其设置为False,便可以允许你\n \r。

2、UnicodeEncodeError: ascii codec can't encode错误
在windows下写的python脚本,放到linux下运行,直接报:

UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-11: ordinal not in range(128)

出错原因是Python2.7在安装时,默认的编码是ascii,当程序中出现非ascii编码时,Python的处理常常会报这样的错,不过在Python3中就不会有这样的问题。
解决方法:
(1)临时解决方法:
在代码前加入:
import sys 
reload(sys) 
sys.setdefaultencoding('utf8')

(2)一劳永逸:
在Python的lib\site-packages文件夹下新建一个sitecustomize.py,内容如下:

# encoding=utf8 
import sys 

reload(sys) 
sys.setdefaultencoding('utf8')

这样的话,系统在Python启动的时候,自行调用该文件,设置系统的默认编码。

Python 相关文章推荐
python实现查询苹果手机维修进度
Mar 16 Python
浅谈编码,解码,乱码的问题
Dec 30 Python
Python实现自动上京东抢手机
Feb 06 Python
Python实现按中文排序的方法示例
Apr 25 Python
对python 自定义协议的方法详解
Feb 13 Python
Python3.5实现的罗马数字转换成整数功能示例
Feb 25 Python
python中类的输出或类的实例输出为这种形式的原因
Aug 12 Python
Tensorflow进行多维矩阵的拆分与拼接实例
Feb 07 Python
python 已知平行四边形三个点,求第四个点的案例
Apr 12 Python
django-orm F对象的使用 按照两个字段的和,乘积排序实例
May 18 Python
利用python对excel中一列的时间数据更改格式操作
Jul 14 Python
python 实现性别识别
Nov 21 Python
Python使用自带的ConfigParser模块读写ini配置文件
Jun 26 #Python
Python读写txt文本文件的操作方法全解析
Jun 26 #Python
Python实现快速排序算法及去重的快速排序的简单示例
Jun 26 #Python
python结合selenium获取XX省交通违章数据的实现思路及代码
Jun 26 #Python
理解生产者消费者模型及在Python编程中的运用实例
Jun 26 #Python
python安装mysql-python简明笔记(ubuntu环境)
Jun 25 #Python
Python的装饰器用法学习笔记
Jun 24 #Python
You might like
真正面向对象编程:PHP5.01发布
2006/10/09 PHP
PHP FATAL ERROR: CALL TO UNDEFINED FUNCTION BCMUL()解决办法
2014/05/04 PHP
简单实用的网站PHP缓存类实例
2014/07/18 PHP
php+mysql删除指定编号员工信息的方法
2015/01/14 PHP
php compact 通过变量创建数组
2016/11/15 PHP
Linux下安装Memcached服务器和客户端与PHP使用示例
2019/04/15 PHP
JavaScript中也使用$美元符号来代替document.getElementById
2010/06/19 Javascript
JAVASCRIPT车架号识别/验证函数代码 汽车车架号验证程序
2012/01/08 Javascript
javascript父、子页面交互技巧总结
2014/08/08 Javascript
javascript中定义类的方法详解
2015/02/10 Javascript
js+div实现文字滚动和图片切换效果代码
2015/08/27 Javascript
JS组件Bootstrap Select2使用方法解析
2016/05/30 Javascript
Vue.js每天必学之过滤器与自定义过滤器
2016/09/07 Javascript
js判断文件格式及大小的简单实例(必看)
2016/10/11 Javascript
强大的JavaScript响应式图表Chartist.js的使用
2017/09/13 Javascript
简单明了区分escape、encodeURI和encodeURIComponent
2018/05/26 Javascript
JavaScript基础之this和箭头函数详析
2019/09/05 Javascript
基于Vue.js与WordPress Rest API构建单页应用详解
2019/09/16 Javascript
解决vue自定义全局消息框组件问题
2019/11/22 Javascript
node.js使用http模块创建服务器和客户端完整示例
2020/02/10 Javascript
JavaScript中的this基本问题实例小结
2020/03/09 Javascript
python过滤字符串中不属于指定集合中字符的类实例
2015/06/30 Python
Python模拟鼠标点击实现方法(将通过实例自动化模拟在360浏览器中自动搜索python)
2017/08/23 Python
Python RabbitMQ消息队列实现rpc
2018/05/30 Python
详解django的serializer序列化model几种方法
2018/10/16 Python
解决Django一个表单对应多个按钮的问题
2019/07/18 Python
Python中 CSV格式清洗与转换的实例代码
2019/08/29 Python
python爬取Ajax动态加载网页过程解析
2019/09/05 Python
pytorch实现保证每次运行使用的随机数都相同
2020/02/20 Python
Waterford加拿大官方网站:世界著名的水晶杯品牌
2016/11/01 全球购物
蔻驰意大利官网:COACH意大利
2019/01/16 全球购物
成功的酒店创业计划书
2013/12/27 职场文书
2014迎新年晚会策划方案
2014/02/23 职场文书
电子信息工程专业求职信
2014/06/28 职场文书
月考总结与反思
2015/10/22 职场文书
Win11如何查看显卡型号 Win11查看显卡型号的方法
2022/08/14 数码科技