Apa perbedaan antara json.dumps
dan json.load
?
Dari pemahaman saya, satu memuat JSON ke dalam kamus dan lainnya memuat ke dalam objek.
dumps
mengambil objek dan menghasilkan string:
>>> a = {'foo': 3}
>>> json.dumps(a)
'{"foo": 3}'
load
akan mengambil objek seperti file, membaca data dari objek itu, dan menggunakan string itu untuk membuat objek:
with open('file.json') as fh:
a = json.load(fh)
Perhatikan itu dump
dan load
konversi antara file dan objek, sementara dumps
dan loads
konversi antara string dan objek. Anda dapat menganggap s
fungsi -less sebagai pembungkus s
fungsi:
def dump(obj, fh):
fh.write(dumps(obj))
def load(fh):
return loads(fh.read())
object
dalam arti "sesuatu jenis selainstr
". String seperti'"foo"'
didekodekan ke objek Python ; string seperti diterjemahkan ke dalam daftar Python , dll.str
'foo'
"[1,2,3]"
[1,2,3]
dumps()
- penyandian ke objek JSONdump()
- penyandian string yang dikodekan pada fileloads()
- Decode the JSON stringload()
- Decode saat file JSON dibacajson memuat -> mengembalikan objek dari string yang mewakili objek json.
json dumps -> mengembalikan string yang mewakili objek json dari suatu objek.
memuat dan membuang -> baca / tulis dari / ke file bukan string
sumber