当你想要保存更为复杂的数据类型,例如嵌套的列表和字典,手工解析和序列化它们将变得更复杂。
序列化和反序列化的过程中,表示该对象的字符串可以存储在文件或数据中,也可以通过网络连接传送给远程的机器。
注意
许多程序员都已经熟悉它了,使它成为相互协作的一个不错的选择。
x,你可以用简单的一行代码查看其 JSON 字符串表示形式:
>>> json.dumps([1, 'simple', 'list'])
'[1, "simple", "list"]'
文件对象,我们可以这样做:
json.dump(x, f)
文件对象 :
x = json.load(f)
Json模块的手册对此有详细的解释。
另请参阅
pickle - pickle模块
默认情况下它也是不安全的:如果数据由熟练的攻击者精心设计, 反序列化来自一个不受信任源的 pickle 数据可以执行任意代码。