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