cod*_*rex 99 serialization json deserialization json-deserialization json-serialization
我是JSON的新手.现在,我需要为我的Flash ActionScript 3.0使用JSON.所以我找到了一个用于JSON的库,我看到了术语"反序列化"和"序列化".他们的意思是什么?
ken*_*ytm 181
JSON是一种对字符串中的对象进行编码的格式.序列化意味着将对象转换为该字符串,反序列化是其反向操作.
传输数据或将数据存储在文件中时,数据必须是字节字符串,但复杂的对象很少采用这种格式.序列化可以将这些复杂对象转换为字节串以供此类使用.在传输字节串之后,接收器必须从字节串中恢复原始对象.这称为反序列化.
说,你有一个对象
{foo: [1, 4, 7, 10], bar: "baz"}
Run Code Online (Sandbox Code Playgroud)
序列化为JSON会将其转换为字符串:
'{"foo":[1,4,7,10],"bar":"baz"}'
Run Code Online (Sandbox Code Playgroud)
可以存储或通过电线发送到任何地方.接收器然后可以反序列化该字符串以返回原始对象.{foo: [1, 4, 7, 10], bar: "baz"}.
在数据存储的上下文中,序列化(或序列化)是将数据结构或对象状态转换为可以存储(例如,在文件或内存缓冲区中)或传输(例如,通过网络连接)的格式的过程链接)并在以后进行重建。[...]
的相反的操作,从一系列的字节中提取的数据结构,是反序列化。
来自维基百科:序列化
因此,例如在Python中,“序列化”除了将给定的数据结构(例如a dict)转换为其有效的JSON挂件外,什么也没有做。
因此,Python True将转换为JSON true,然后将字典本身封装在引号中。
Python模块json在这里非常有用:
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
# }
# }
Run Code Online (Sandbox Code Playgroud)
您可以通过它们的布尔值轻松发现Python字典和JSON之间的区别:
True/ False,true/false资料来源:realpython.com
| 归档时间: |
|
| 查看次数: |
100462 次 |
| 最近记录: |