可以使用以下代码查看对象x
的JSON字符串表示形式:
>>> import json
>>> json.dumps([1, 'simple', 'list'])
'[1, "simple", "list"]'
另一种dumps()
方法的变种,dump()
,该方法简单将对象序列化到文本文件。如果f
是已经以写模式打开的文本文件对象,可以使用如下代码:
json.dump(x, f)
可以再次解码对象,如果f
是以读模式打开的文本文件对象:
x = json.load(f)
以上是可以处理列表和字典的简单序列化技术,但是要处理任意类实例需要额外的操作。json
模块的参考内容包含以下解释:
参见:pickle
- pickle模块
与JSON不同,pickle是一种协议,允许任意复杂Python对象序列化。就这一点论,它只能用于 Python, 而不能用于与其他语言编写的应用程序通信。默认情况下它是不安全的:如果数据由熟练的攻击者精心制作, 反序列化来自一个不受信任源的 pickle 数据可以执行任意代码。