json模块
JSON(Java Script Object Notation):一种轻量级数据交互格式,相对于XML而言更简单,也易于阅读和编写,机器也方便解析和生成,Json是JavaScript中的一个子集。python的json模块序列化与反序列化的过程分别是encoding和decoding。
- encoding:把一个python对象编码转换成Json字符串。
- decoding:把json格式字符串编码转换成python对象。
json提供四个功能:json.loads json.dumps json.load json.dump。loads跟dumps是用来处理字符串的,load跟dump是用来处理文件的。
- loads:把json转换成其他格式,字符串或文件相关的
- dumps:把其他对象或格式转换为json格式
- load:将文件的内容转换成为json数据
- dump:把json数据写入到文件中
# dic='{"name":"alex"}' # f=open('hello','w') # f.write(dic) # f_read=open('hello','r') # data=f_read.read() # data=eval(data) # print(data['name']) #dumps方法 ''' import json dic={"name":"alex"} #dic=[11,22] #使用json时会把单引号变成双引号 #把其他对象或者格式转为json格式(包括其他数据类型) data=json.dumps(dic) f=open('new_name','w') #把字符串写入文件中 f.write(data) #dump方法 不怎么会用 import json dic={"name":"alex"} f=open('new_name','r') json.dump(dic,f) ''' import json #读取文件 f_read=open('new_name','r') data = json.loads(f_read.read()) # 相当于 data=json.load(f_read) print(type(data)) print(data)
#注意只要满足条件就可以用 import json with open("new_name","r")as f: data=f.read() data=json.loads(data) print(data["name"])