python处理json数据中的中文

yipeiwu_com5年前Python基础

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参数

PS:关于json操作,这里再为大家推荐几款比较实用的json在线工具供大家参考使用:

在线JSON代码检验、检验、美化、格式化工具:
http://tools.jb51.net/code/json

JSON在线格式化工具:
http://tools.jb51.net/code/jsonformat

在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljson

json代码在线格式化/美化/压缩/编辑/转换工具:
http://tools.jb51.net/code/jsoncodeformat

在线json压缩/转义工具:

http://tools.jb51.net/code/json_yasuo_trans

C语言风格/HTML/CSS/json代码格式化美化工具:
http://tools.jb51.net/code/ccode_html_css_json 

相关文章

python os.path模块常用方法实例详解

os.path模块主要用于文件的属性获取,在编程中经常用到,以下是该模块的几种常用方法。更多的方法可以去查看官方文档:http://docs.python.org/library/os....

Python 通配符删除文件的实例

实例如下所示: # -*- coding: utf-8 -*- """ 使用通配符,获取所有文件,或进行操作。 """ import glob import os def files...

python调用matplotlib模块绘制柱状图

我们可以调用matplotlib 绘制我们的柱状图,柱状图可以是水平的也可以是竖直的。 在这里我先记录下竖直的柱状图怎么绘制 在这里一般用到的函数就是bar # bar(left,...

对Python中class和instance以及self的用法详解

一. Python 的类和实例 在面向对象中,最重要的概念就是类(class)和实例(instance),类是抽象的模板,而实例是根据类创建出来的一个个具体的 “对象”。 就好比,学生是...

python实现的简单RPG游戏流程实例

本文实例讲述了python实现的简单RPG游戏流程。分享给大家供大家参考。具体如下: #RPG rpg = True whp = 100 mahp = 100 hhp = 100 M...