dump(),load()和dumps(),loads() 的区别以及常见参数含义

  • Post author:
  • Post category:其他


  • 主要区别

dump(),load()   处理的是json文件

dumps(),loads() 处理的是字符串

  • 详细参数

json.dumps()    将python对象编码成JSON字符串

json.dumps(obj,                                                    python对象(Boolean类型,None,数字类型,字符串,unicode,列表,元祖,字典)

skipkeys=False,                                      key值如果不是基础类型,True时,报错TypeError;     False(默认)时,跳过

ensure_ascii=True,                    如果obj里包括非ASCII码,True时,编成ASCII码;    False时,不进行编码,原样输出

check_circular=True,              False时,”循环引用检查”对容器类型跳过检查,并且也可能导致溢出错误/或者更糟

allow_nan=True,                                 False时,对于序列化超出范围的float值,严格遵守JSON规范,将是一个ValueError而不是使用JavaScript等价物(NaN,Infinity,-Infinity)

cls=None,

indent=None,                              缩进,数字类型,None(默认)为最紧密的形式了

separators=None,                                 如果indent为None,默认值是(‘, ‘, ‘: ‘),如果指定的话,应该是一个元祖

default=None,                                       是一个函数,该函数能够把自定义类型的对象转换成可序列化的基本类型

sort_keys=False,                               True时,输出将按字典key值排序输出

)

json.loads()    将已编码的JSON字符串编码为Python对象

loads(s, *, encoding=None,          编码方式

cls=None,

object_hook=None,                该函数负责把反序列化后的基本类型对象转换成自定义类型的对象

parse_float=None,              如果指定,将调用每个JSON浮点的字符串进行解码。默认情况下,这相当于浮点(NUMYSTR)。这可以用于使用另一个数据类型或解析器用于JSON浮点(例如十进制、十进制)。

parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)                 这些都不常用,含义同上类比

json.dump()    将json信息写进文件

dump(obj,                     要写入文件的对象

wf,                     wf为使用with open打开文件的as别名

*, skipkeys=False, ensure_ascii=True, check_circular=True,       同dumps()

allow_nan=True, cls=None, indent=None, separators=None,      同dumps()

default=None, sort_keys=False, **kw)                                          同dumps()

json.load()    将读取json信息

load(rf,                              rf为使用with open读文件的as别名

*, cls=None, object_hook=None, parse_float=None,             同loads()

parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)  同dumps()



版权声明:本文为Faker_Second原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。