import json '''如果我们要在不同的编程语言之间传递对象,就必须把对象序列化为标准格式,比如XML,但更好的方法是序列化为JSON,因为JSON表示出来就是一个字符串, 可以被所有语言读取,也可以方便地存储到磁盘或者通过网络传输。JSON不仅是标准格式,并且比XML更快,而且可以直接在Web页面中读取,非常方便''' # json.dumps()序列化,把对象从内存中变成可存储或传输(字符串)的过程称之为序列化,即pickling dic = {'name': 'alex', 'age': 20} # json序列化把单引号变成了双引号 data = json.dumps(dic) print(data, type(data)) # json.loads()反序列化,把变量内容从序列化的对象重新读到内存里称之为反序列化,即unpickling data1 = json.loads('{"name": "alex", "age": 20}') # 如果此字典里的字符串用的是单引号,那么无法进行json反序列化,会报错 print(data1, type(data1)) # json.load()和json.dump(),都是只能对文件进行操作 # dic = {'name': 'alex'} # f = open('hello', 'w', encoding='utf-8') # json.dump(dic, f) # f.close() # f = open('hello', 'r', encoding='utf-8') # data = json.load(f) # print(data) # f.close()