python处理json数据中的中文


Posted in Python onMarch 06, 2014

python中自带了处理python的模块,使用时候直接import json即可。 使用loads方法即可将json字符串转换成python对象,对应关系如下:
JSON     Python
object   dict
array    list
string   unicode
number   (int) int, long
number   (real) float
true     True
false    False
null     None

但在使用json模块的时候需要注意的是对中文的处理,loads方法如果传入的字符串的编码不是UTF-8的话,需要用encoding指定字符编码

import json

import base64

f = open("./result_diff.txt")

for l in f:

try:

    fp = l[l.find("?fp")+1 :]

    Http = fp.find("HTTP/")

    fp = fp[3:Http-1]

fp = fp.decode("gbk").encode("utf-8")

str1 = json.loads(fp, encoding="utf-8")

print str1

except Exception, e:

print str(e)

当fp中含有中文并且是gbk编码的时候,当我们把当前行的编码改成utf8后在使用json进行解码的时候需要指定编码。
或者这样

fp = fp.decode("gbk")

直接转成gbk编码,就可以不用指定json的编码类型,就是不用使用encoding参数
Python 相关文章推荐
Python访问MySQL封装的常用类实例
Nov 11 Python
Python双精度浮点数运算并分行显示操作示例
Jul 21 Python
Python获取昨天、今天、明天开始、结束时间戳的方法
Jun 01 Python
python使用正则表达式来获取文件名的前缀方法
Oct 21 Python
Python面向对象基础入门之设置对象属性
Dec 11 Python
Python实现简单查找最长子串功能示例
Feb 26 Python
python3.8与pyinstaller冲突问题的快速解决方法
Jan 16 Python
通过python-pptx模块操作ppt文件的方法
Dec 26 Python
Django中如何用xlwt生成表格的方法步骤
Jan 31 Python
selenium3.0+python之环境搭建的方法步骤
Feb 01 Python
手把手教你用Django执行原生SQL的方法
Feb 18 Python
用python画城市轮播地图
May 28 Python
Python中针对函数处理的特殊方法
Mar 06 #Python
python连接mysql调用存储过程示例
Mar 05 #Python
python益智游戏计算汉诺塔问题示例
Mar 05 #Python
python连接mysql并提交mysql事务示例
Mar 05 #Python
python遍历文件夹并删除特定格式文件的示例
Mar 05 #Python
python的三目运算符和not in运算符使用示例
Mar 03 #Python
python使用cookielib库示例分享
Mar 03 #Python
You might like
PHP中extract()函数的妙用分析
2012/07/11 PHP
解析php中array_merge与array+array的区别
2013/06/21 PHP
PHP字符串长度计算 - strlen()函数使用介绍
2013/10/15 PHP
PHP常用的小程序代码段
2015/11/14 PHP
php封装json通信接口详解及实例
2017/03/07 PHP
CodeIgniter框架基本增删改查操作示例
2017/03/23 PHP
PHP培训要多少钱
2017/06/06 PHP
HR vs ForZe BO3 第一场 2.13
2021/03/10 DOTA
Aster vs KG BO3 第一场2.19
2021/03/10 DOTA
javascript动画效果类封装代码
2007/08/28 Javascript
Extjs4中tree的拖拽功能(可以两棵树之间拖拽) 简单实例
2013/12/08 Javascript
jQuery移除元素自动解绑事件实现思路及代码
2014/05/31 Javascript
form.submit()不能提交表单的原因分析
2014/10/23 Javascript
JavaScript实现级联菜单的方法
2015/06/29 Javascript
jQuery前端开发35个小技巧
2016/05/24 Javascript
解决vue-cli中stylus无法使用的问题方法
2017/06/19 Javascript
Angularjs使用过滤器完成排序功能
2017/09/20 Javascript
Vue.js项目中管理每个页面的头部标签的两种方法
2018/06/25 Javascript
详解@angular/cli 改变默认启动端口两种方式
2018/11/29 Javascript
Typescript 中的 interface 和 type 到底有什么区别详解
2019/06/18 Javascript
浅谈Vue中render中的h箭头函数
2019/11/07 Javascript
详解react组件通讯方式(多种)
2020/05/06 Javascript
python的else子句使用指南
2016/02/27 Python
python中pandas.DataFrame的简单操作方法(创建、索引、增添与删除)
2017/03/12 Python
关于python之字典的嵌套,递归调用方法
2019/01/21 Python
Python基于mysql实现学生管理系统
2019/02/21 Python
python傅里叶变换FFT绘制频谱图
2019/07/19 Python
python线程定时器Timer实现原理解析
2019/11/30 Python
使用PyTorch将文件夹下的图片分为训练集和验证集实例
2020/01/08 Python
美国指甲油品牌:Deco Miami
2017/01/30 全球购物
Does C# support multiple inheritance? (C#支持多重继承吗)
2012/01/04 面试题
路政管理专业个人自荐信范文
2013/11/30 职场文书
实习生岗位职责
2014/04/12 职场文书
奥巴马英文演讲稿
2014/05/15 职场文书
辩护词格式
2015/05/22 职场文书
Oracle 区块链表创建过程详解
2021/05/15 Oracle