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

  • 主要区别

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()

猜你喜欢

转载自blog.csdn.net/Faker_Second/article/details/81169208