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 相关文章推荐
wxpython 最小化到托盘与欢迎图片的实现方法
Jun 09 Python
解析Python中的变量、引用、拷贝和作用域的问题
Apr 07 Python
windows下python连接oracle数据库
Jun 07 Python
django实现前后台交互实例
Aug 07 Python
Python logging管理不同级别log打印和存储实例
Jan 19 Python
python实现简单登陆流程的方法
Apr 22 Python
Python 中的Selenium异常处理实例代码
May 03 Python
Linux下python与C++使用dlib实现人脸检测
Jun 29 Python
python调用自定义函数的实例操作
Jun 26 Python
Python字典取键、值对的方法步骤
Sep 30 Python
matplotlib 使用 plt.savefig() 输出图片去除旁边的空白区域
Jan 05 Python
Python实现给PDF添加水印的方法
Jan 25 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
《PHP边学边教》(04.编写简易的通讯录――视频教程1)
2006/12/13 PHP
smarty的保留变量问题
2008/10/23 PHP
apache mysql php 源码编译使用方法
2012/05/03 PHP
thinkPHP批量删除的实现方法分析
2016/11/09 PHP
PHP+Oracle本地开发环境搭建方法详解
2019/04/01 PHP
Laravel自动生成UUID,从建表到使用详解
2019/10/24 PHP
jquery Firefox3.5中操作select的问题
2009/07/10 Javascript
使用JavaScript switch case 另类写法
2010/03/14 Javascript
细说浏览器特性检测(2)-通用事件检测
2010/11/05 Javascript
淘宝搜索框效果实现分析
2011/03/05 Javascript
js调出上下文菜单的实例
2015/12/17 Javascript
jquery easyui validatebox remote的使用详解
2016/11/09 Javascript
jQuery插件zTree实现获取一级节点数据的方法
2017/03/08 Javascript
jQuery+pjax简单示例汇总
2017/04/21 jQuery
JavaScript简单拖拽效果(1)
2017/05/17 Javascript
学习Vue组件实例
2018/04/28 Javascript
基于vue,vue-router, vuex及addRoutes进行权限控制问题
2018/05/02 Javascript
nodejs和react实现即时通讯简易聊天室功能
2019/08/21 NodeJs
vue中keep-alive,include的缓存问题
2019/11/26 Javascript
基于JS实现table导出Excel并保留样式
2020/05/19 Javascript
Vue 请求传公共参数的操作
2020/07/31 Javascript
JavaScript枚举选择jquery插件代码实例
2020/11/17 jQuery
[05:05]给小松五分钟系列 第二期介绍为什么打DOTA2
2014/07/02 DOTA
Python实现 多进程导入CSV数据到 MySQL
2017/02/26 Python
python实现超市扫码仪计费
2018/05/30 Python
使用python判断jpeg图片的完整性实例
2019/06/10 Python
python模块和包的应用BASE_PATH使用解析
2019/12/14 Python
css3 flex实现div内容水平垂直居中的几种方法
2020/03/27 HTML / CSS
详解Canvas 实现炫丽的粒子运动效果(粒子生成文字)
2018/02/01 HTML / CSS
2014年乡镇植树节活动方案
2014/02/28 职场文书
社团2014年植树节活动总结
2014/03/11 职场文书
机械专业技术员求职信
2014/06/14 职场文书
超市开店计划书
2014/09/15 职场文书
学习十八大宣传标语
2014/10/09 职场文书
2016三八妇女节慰问信
2015/11/30 职场文书
Python列表的索引与切片
2022/04/07 Python