您的位置:首页 > 编程语言 > Python开发

Python Standard Library —— JSON Encoders and Decoders

2016-07-07 19:18 423 查看
1. Simple JSON decoder



用法:将JSON对象转换为Python对象,对应类型列表如下:

JSONPython
objectdict
arraylist
stringunicode
number (int)int, long
number (real)float
trueTrue
falseFalse
nullNone
(1)解码器也能识别NaN,Infinity,-Infinity的值。

(2)encoding默认使用utf-8,也可使用unicode。

(3)object_hook,自定义JSON转Python object的函数。

(4)object_pairs_hook,和上面的差不多。

(5)parse_float,等同于float(num_str)。

(6)parse_int,等同于int(num_str)。

(7)parse_constant,可识别以下字符串:'-Infinity','Infinity','NaN','null','true','false'。

(8)strict(default: True),若strick为false将允许使用控制字符,如'\t','\n'。

成员函数:

decodes(s): 返回Python对s的表达。

raw_decode(s): 返回一个二元组的Python表达。

2. Simple JSON encoder



用法:将Python对象转换为JSON对象,对应类型列表如下:

PythonJSON
dictobject
list, tuplearray
str, unicodestring
int, long, floatnumber
Truetrue
Falsefalse
Nonenull
(1)返回一个序列化对象。

(2)skipkeys(default: false),如果keys是非str、int、long、float和None,则报类型错误TypeError。

如果skipkeys为true,这些项目仅仅是简单地跳过。

(3)ensure_ascii(default:true),所有的non-SACII字符输出避免\uXXXX序列,只允许返回ASC字符。

如果ensure_ascii是false,结果中可以使用unicode实例。

(4)check_circular(default:true),是否检测循环引用。

(5)allow_non(default: true),是否允许NaN, Infinity, -Infinity。

(6)sort_keys(default: False),是否按键值排序。

(7)indent(default:None),设置缩进方式,默认为(', ', ': '),有空格。

避免空格:separators=(',', ': ')。


(8)default一个返回JSON对象的函数。

如果encoding不是None,则所有字符串都应转为unicode。

成员函数:

default(o):返回一个序列化对象。

encode(o):返回一个JSON字符串,表达一个Python数据结构。

iterencode(o):对给定的对象o编码。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: