Câu trả lời:
dumps
lấy một đối tượng và tạo ra một chuỗi:
>>> a = {'foo': 3}
>>> json.dumps(a)
'{"foo": 3}'
load
sẽ lấy một đối tượng giống như tệp, đọc dữ liệu từ đối tượng đó và sử dụng chuỗi đó để tạo một đối tượng:
with open('file.json') as fh:
a = json.load(fh)
Lưu ý rằng dump
và load
chuyển đổi giữa các tệp và đối tượng, trong khi dumps
và loads
chuyển đổi giữa các chuỗi và đối tượng. Bạn có thể nghĩ về các s
hàm không có chức năng như các hàm bao quanh các s
hàm:
def dump(obj, fh):
fh.write(dumps(obj))
def load(fh):
return loads(fh.read())
object
theo nghĩa "một cái gì đó khác hơn str
". Một chuỗi like '"foo"'
được giải mã thành đối tượng Python ; một chuỗi như được giải mã vào danh sách Python , v.v.str
'foo'
"[1,2,3]"
[1,2,3]
dumps()
- mã hóa thành các đối tượng JSON dump()
- viết chuỗi mã hóa trên tệp loads()
- Giải mã chuỗi JSON load()
- Giải mã trong khi tệp JSON đọc
json tải -> trả về một đối tượng từ một chuỗi đại diện cho một đối tượng json.
json dumps -> trả về một chuỗi đại diện cho một đối tượng json từ một đối tượng.
tải và kết xuất -> đọc / ghi từ / vào tệp thay vì chuỗi