对json中的dump() load() dumps() loads()区别有些含糊,在网上查了下,发现有些凌乱,于是索性去官网看个究竟,毕竟官网才是最靠谱的解释,下面给出官网上的说明在此简单叙述一下。
官网:https://docs.python.org/3/library/json.html#basic-usage
1、json.
dump()
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)¶
Serialize obj as a JSON formatted stream to fp (a .write()
-supporting file-like object) using this conversion table.
从上面说明来看,json.
dump()是用来把一个序列化对象转化为一个JSON格式流然后写入fp指定的文件中去。
2、json.
dumps
()
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)¶
Serialize obj to a JSON formatted str
using this conversion table. The arguments have the same meaning as in dump()
.
从上面说明来看,json.
dumps()是使用一种转化表格序列化一个对象到JSON格式的字符串
3、json.load()
json.load() 和json.
dump()对应,加载json文件
4、
json.loads()
json.loads() 和json.
dumps()对应,加载json字符串
在网上也发现一篇不错的blog在此一并截取过来:
原文地址:https://blog.csdn.net/lizhixin705/article/details/82344209
json 模块提供了一种很简单的方式来编码和解码JSON数据。 其中两个主要的函数是 json.dumps() 和 json.loads()。
1.json.dumps将一个Python数据结构转换为JSON:
import json
data = {
'name' : 'myname',
'age' : 100,
}
json_str = json.dumps(data)
2.json.loads将一个JSON编码的字符串转换回一个Python数据结构:
data = json.loads(json_str)
3.json.dump() 和 json.load() 来编码和解码JSON数据,用于处理文件。
with open('test.json', 'w') as f:
json.dump(data, f)
with open('test.json', 'r') as f:
data = json.load(f)