1、前言
数据解析一般获得的原始数据都是json格式的字符串的,需要借助Python的json模块,这个模块有很多实用的函数,总结一下
2、json.dump和json.dumps和json.load和json.loads的应用场景和区别
基本功能:
dumps是将dict转化成str格式,loads是将str转化成dict格式(通常我们获得的就是这样的数据)。
dump和load也是类似的功能,只是与文件操作结合起来了。
dump*语法:
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)
t=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)
相同点:
A、都可以吧Python的dict转化为string类型
B、都有ensure_ascii参数,TRUE表示以ASCII编码,中文会乱码;FALSE表示支持中文。
C、其他的众多参数的默认值一样的
区别:
dumps:完成转化就行了,按照ensure_ascii指定的格式返回结果
dump:按照ensure_ascii的编码格式把转化结果写入第二个参数指定的文件中,没有返回值。
load*语法:
json.loads(s, encoding=None, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)
json.load(fp, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)
相同点:
A、都可以吧Python的string类型转化为dict类型
C、其他的众多参数的默认值一样的
区别:
loads:把String按照encoding指定的格式转化成dict并且返回。
load:把读取文件并且转化为dict格式,不能指定编码格式