python的dumps/loads/dump/load

python的dumps/loads/dump/load

1.序列化

最近在看区块链的交易,其中提到了又提到了序列化的概念。当交易通过网络传输或在应用程序之间交换时,它们被序列化。 序列化是将内部的数据结构表示转换为可以一次发送一个字节的格式(也称为字节流)的过程。 序列化最常用于编码通过网络传输或用于文件中存储的数据结构。

2.反序列化

大多数比特币函数库和架构不会在内部将交易存储为字节流,因为每次需要访问单个字段时,都需要复杂的解析。
为了方便和可读性,比特币函数库将交易内部存储在数据结构(通常是面向对象的结构)中。
从交易的字节流表示转换为函数库的内部数据结构表示的过程称为反序列化交易解析。转换回字节流以通过网络传输、哈希化(hashing)或存储在磁盘上的过程称为序列化。大多数比特币函数库具有用于交易序列化和反序列化的内置函数

3.python的序列化与反序列化

对应着区块链交易的序列化和反序列化,我加深了对Python的序列化与反序列化的理解。
序列化(encoding):把python对象编码转换成Json字符串。
反序列化(decoding):把json格式字符串解码为python对象。
json库的主要方法:dumps, dump, loads, load
1. dumps功能 : 将字典类型通过json把它序列化为json格式的字符串
2. loads功能 :将json编码的字符串转换为python数据结构
json.dumps()将pyhton的数据类型编码为str的josn格式
json.loads()将str的json数据类型解码为pyhton的数据类型

json.dump(x,y)x是对象,y是文件对象 将json写到文件中
json.losd(y) 从文件对象中读取json

猜你喜欢

转载自blog.csdn.net/Erice_s/article/details/80053590