json 可以在不同语言中进行使用 

下面先介绍一下json的适用方法

import json, pickle
t1 = {
    'name':'alex',
    'password':'123',
    'age' : '12'
}

t1 = json.dumps(t1)  #进行序列化,把t1被转换成字符串
f = open('t1.txt', encoding='utf-8', mode='w')  #utf-8的编码方式
f.write(t1) # 写入t1,这时候的t1的样子还是原来的样子
f.close()
f = open('t1.txt', encoding='utf-8', mode='r') #打开文件
t = f.read() #读取文件内容
print(json.loads(t)) #反序列化,重新转换为dict形式

 

pickle 只能在python中使用 

json 和 pickle 的语法相同 ,pickle 可以用来传递函数  

下面以pickle为例

序列化.py

def say():
    print('hello')

lis = {
    'name':'alex',
    'password':'123',
    'func': say  #传入函数的内存地址
}
f = open('t2.txt', mode='wb') #以二进制的方式打开
lis = pickle.dumps(lis) #进行序列化,转换后的格式是二进制
f.write(lis) #写入文件
f.close()

f = open('t2.txt', mode='rb')
t = f.read()
data = pickle.loads(t) #反序列化
data['func']()  #验证函数是否还是可执行

 

 

对于json.dumps 和 json.loads  而言 最好是每次转换只出现一次 

 

posted on 2018-05-16 21:48  python我的最爱  阅读(306)  评论(0编辑  收藏  举报