Jawaban:
JSON adalah format yang menyandikan objek dalam string. Serialisasi berarti mengubah objek menjadi string itu , dan deserialisasi adalah operasi kebalikannya (convert string -> object) .
Saat mentransmisikan data atau menyimpannya dalam file, data harus berupa string byte, tetapi objek kompleks jarang dalam format ini. Serialisasi dapat mengubah objek kompleks ini menjadi string byte untuk penggunaan tersebut. Setelah string byte ditransmisikan, penerima harus memulihkan objek asli dari string byte. Ini dikenal sebagai deserialisasi.
Katakanlah, Anda memiliki objek:
{foo: [1, 4, 7, 10], bar: "baz"}
membuat serial menjadi JSON akan mengubahnya menjadi string:
'{"foo":[1,4,7,10],"bar":"baz"}'
yang dapat disimpan atau dikirim melalui kabel ke mana saja. Penerima kemudian dapat membatalkan deserialisasi string ini untuk mendapatkan kembali objek aslinya. {foo: [1, 4, 7, 10], bar: "baz"}
.
"{foo: [1, 4, 7, 10], bar: "baz"}"
Dalam konteks penyimpanan data, serialisasi (atau serialisasi) adalah proses menerjemahkan struktur data atau keadaan objek ke dalam format yang dapat disimpan (misalnya, dalam buffer file atau memori) atau ditransmisikan (misalnya, melalui koneksi jaringan tautan) dan direkonstruksi kemudian. [...]
Operasi yang berlawanan, mengekstraksi struktur data dari serangkaian byte, adalah deserialisasi . Dari Wikipedia
Dalam Python "serialisasi" tidak melakukan apa pun selain hanya mengubah struktur data yang diberikan (misalnya a dict
) menjadi liontin JSON (objek) yang valid.
True
akan dikonversi ke JSON true
dan kamus itu sendiri kemudian akan dienkapsulasi dalam tanda kutip.True
/ False
,true
/false
json
adalah cara standar untuk melakukan serialisasi:Contoh kode:
data = {
"president": {
"name": "Zaphod Beeblebrox",
"species": "Betelgeusian",
"male": True,
}
}
import json
json_data = json.dumps(data, indent=2) # serialize
restored_data = json.loads(json_data) # deserialize
# serialized json_data now looks like:
# {
# "president": {
# "name": "Zaphod Beeblebrox",
# "species": "Betelgeusian",
# "male": true
# }
# }
Sumber: realpython.com
Penjelasan Serialize dan Deserialize menggunakan Python
Dalam python, modul acar digunakan untuk serialisasi. Jadi, proses serialisasi disebut pengawetan dengan Python. Modul ini tersedia di pustaka standar Python .
Serialisasi menggunakan acar
import pickle
#the object to serialize
example_dic={1:"6",2:"2",3:"f"}
#where the bytes after serializing end up at, wb stands for write byte
pickle_out=open("dict.pickle","wb")
#Time to dump
pickle.dump(example_dic,pickle_out)
#whatever you open, you must close
pickle_out.close()
File PICKLE (dapat dibuka oleh editor teks seperti notepad) berisi ini (data serial):
€} q (KX 6qKX 2qKX fqu.
Deserialisasi menggunakan acar
import pickle
pickle_in=open("dict.pickle","rb")
get_deserialized_data_back=pickle.load(pickle_in)
print(get_deserialized_data_back)
Keluaran:
{1: '6', 2: '2', 3: 'f'}