python 保持json数据到本地时的编码
来源:互联网 发布:linux创建用户名和密码 编辑:程序博客网 时间:2024/05/05 07:45
import requestsimport jsondef getAndSaveJSON(): query_url = 'http://fanyi.youdao.com/openapi.do?' \ 'keyfrom=tinxing&key=1312427901&type=data&doctype=json&version=1.1&q=logging' jsStr = json.loads(requests.get(query_url).text) f = open("./jsondatafile.json", "a") # a:附加写方式打开,不可读 a = json.dumps(jsStr, ensure_ascii=False) print type(a) f.write(a) f.close() print 'success'
Traceback (most recent call last):UnicodeEncodeError: 'ascii' codec can't encode characters in position 54-57: ordinal not in range(128)
json数据获取并保存到本地时,出现了编码问题,试了很多方法最后看了
引用块内容
http://stackoverflow.com/questions/9942594/unicodeencodeerror-ascii-codec-cant-encode-character-u-xa0-in-position-20
将代码修改下
a = json.dumps(jsStr, ensure_ascii=False).encode("utf-8")
问题解决
第二种方法
原来用open方法打开会有一些问题。open打开文件只能写入str类型,不管字符串是什么编码方式
import codecs
f = codecs.open(“./jsondatafile.json”, “a”,”utf-8”)
这种方法可以指定一个编码打开文件,使用这个方法打开的文件读取返回的将是unicode。写入时,如果参数 是unicode,则使用open()时指定的编码进行编码后写入;如果是str,则先根据源代码文件声明的字符编码,解码成unicode后再进行前述 操作。相对内置的open()来说,这个方法比较不容易在编码上出现问题。来源于http://www.cnblogs.com/buptldf/p/4805879.html
json.dumps() 编码:把一个Python对象编码转换成Json字符串
json.loads() 解码:把Json格式字符串解码转换成Python对象
- decode的作用是将其他编码的字符串转换成unicode编码,
如str1.decode(‘gb2312’),表示将gb2312编码的字符串str1转换成unicode编码。 - encode的作用是将unicode编码转换成其他编码的字符串,
如str2.encode(‘gb2312’),表示将unicode编码的字符串str2转换成gb2312编码。
0 0
- python 保持json数据到本地时的编码
- python base64编码的图片保存到本地
- Python 关于爬虫过程中 使用pickle 保持cookies到本地 以及读取的简单方法
- 将json格式的数据保存到本地
- php查询到的数据乱码和转json时中文变成了Unicode的编码。
- Python中json格式数据的编码和解码
- Python中json格式数据的编码和解码
- python中json数据中文编码显示的问题
- Python中json格式数据的编码和解码
- android 保存Json数据到本地
- python 输出JSON类型数据时遇到的编码问题(utf8,unicode)
- python爬虫数据保存到本地各种格式的方法
- 将json数据映射到本地数据模型对象的一点想法
- 解决上传JSON数据到本地Tomcat和阿里服务器(linux、nginx)失败的问题
- 如何读取本地的json数据
- 数据的本地存储——Json
- android json数据传递时编码格式的转换
- android json数据传递时编码格式的转换
- POJ 2853 Sequence Sum Possibilities 可能会
- 一行中输入未知个数的数字时
- 最小年龄的职员
- Hibernate两种获取session的方式openSession和getCurrentSession的区别与理解
- Angular开发者指南(一)入门介绍
- python 保持json数据到本地时的编码
- Spring中Bean的生命周期配置bean的后置处理器
- 某年某月某日到某年某月某日有多少天
- Linux安装jdk
- IO流_如何让猜数字小游戏只能玩5次案例
- hibernate连接多个数据库
- iOS-Core Image 介绍-期刊
- 三、GC算法概念
- 精彩文章