Json的序列化和反序列化:
序列化: 将Python对象转换为Json字符串 - - - > dumps和dump
反序列化: 将Json字符串转换为Python对象 - - - > loads和load
序列化和反序列功能介绍:
序列化:将Python对象转换为Json对象
- dumps----- 将Python对象转换为Json字符串
dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False, **kw)
- dump ----- 将Python对象转换为Json字符串并存储到文件中
dump(obj, fp, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False, **kw)
将obj对象格式化并存储到文件对象中,文件必须为可写的文件句柄,json只产生str对象,不支持bytes对象,所以fp.write()必须支持str输入
- skipkeys如果为True,对象的基本类型必须是str,int,float,bool,None
- ensure_ascii=True,如果为true则所以传入的非ASCII字符都被转义,如果为false则字符将原样输出
- check_circular=True,如果为true容器类型的循环引用检查将被跳过
- indent=None,表示数组元素和对象将按指定的值缩进,可以是整数或字符串如’\t’
- sort_keys=False,如果为True字典的输出将按键排序
反序列化:将Json字符串转换为Python对象
- loads ----- > 将Json字符串转换为Python对象
loads(s, encoding=None, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)
# Deserialize ``s`` (a ``str``, ``bytes`` or ``bytearray`` instance containing a JSON document) to a Python object.
- load ----- >读取指定文件中的json字符串并转换为Python对象
load(fp, *, cls=None, object_hook=None, parse_float=None,
parse_int=None, parse_constant=None, object_pairs_hook=None, **kw):
# Deserialize ``fp`` (a ``.read()``-supporting file-like object containing a JSON document) to a Python object.
Json与Python之间数据类型的对应关系
- Python转Json
- Json转Python
python 中str类型到JSON中转为unicode类型,None转为null,dict对应object;pyhton中的集合不能转成json格式。