Python基础-----json模块
2021-05-20 03:29
#!/usr/bin/env python
#-*- coding:utf-8 -*-import json
‘‘‘
我们把对象(变量)从内存中变成可存储或传输的过程称之为[序列化],在Python中叫pickling,
在其他语言中也被称之为serialization,marshalling,flattening等等,都是一个意思。序列化之后,就可以把序列化后的内容写入磁盘,或者通过网络传输到别的机器上。
反过来,把变量内容从序列化的对象重新读到内存里称之为反序列化,即unpickling。
‘‘‘‘‘‘
1 json.dumps(变量名)
用于将传入的变量表示的数据类型都变为字符串类型
并且回将字符串内的‘‘变为""。
‘‘‘dic = {‘name‘:‘alex‘}
dic_str = json.dumps(dic) #----> ‘{"name":"alex"}‘num = 8
num_str = json.dumps(num) #----> ‘8‘st = ‘hello‘
st_str = json.dumps(st) #----> ‘"hello"‘li = [11,22]
li_str = json.dumps(li) #----> ‘[11,22]‘###################################################################################
‘‘‘
2 json.loads(变量名)
用于将传入的变量表示的字符串类型都转换为原类型
并且返回原样。
‘‘‘# dic = json.loads(dic_str) #----> {‘name‘:‘alex‘}
‘‘‘
json 和 python数据对应
import json
x="[null,true,false,1]"
print(json.loads(x)) #-----> [None, True, False, 1]
‘‘‘###################################################################################
‘‘‘用于文件操作‘‘‘
‘‘‘
3 json.dump(变量名,文件名)
用于将传入的变量表示的数据类型都变为字符串类型
并且回将字符串内的‘‘变为"",并写入到指定的文件中,
无需执行文件的write()方法。
‘‘‘
with open(‘test‘,‘w‘) as f:
json.dump(dic,f) #----> 等同于dic_str = json.dumps(dic) f.write(dic_str)###################################################################################
‘‘‘
4 json.load(文件名)
用于直接将文件中字符串类型都转换为原类型,并读取出来,
无需执行文件的read()方法。
‘‘‘
with open(‘test‘,‘r‘) as f:
json_read = json.load(f) #----> 等同于dic_str = json.dumps(dic) f.write(dic_str)
print(json_read)
#==================================================================================#
‘‘‘
注意json.dumps()和json.loads()不一定非要一起才能使用
如果文件中的字符串类型,满足json要求,则可以直接使用
json.loads()将文件读取出来
import json
#dct="{‘1‘:111}"#json 不认单引号
#dct=str({"1":111})#报错,因为生成的数据还是单引号:{‘one‘: 1}dct=‘{"1":"111"}‘
print(json.loads(dct))#conclusion:
# 无论数据是怎样创建的,只要满足json格式,就可以json.loads出来,不一定非要dumps的数据才能loads
‘‘‘
文章标题:Python基础-----json模块
文章链接:http://soscw.com/index.php/essay/87841.html