这里先说一下什么是json,其实json是一种跨语言通用的数据格式,它的本质是一个字符串,然而几乎所有的计算机语言都可以将这种json格式的数据转为自己能使用的数据类型,例如在PHP中json字符串可以转为数组或者对象;在Python中json可以转化为字典;在js中json字符串可以转化为对象;正因为其通用性,而且其相对与xml格式的轻量性(相同的信息量json的大小比xml小很多),所以现在网络请求接口的响应类型都会选择json
那么具体json是什么样子的呢:
{"name":"zbp","age":22}
他是一段像这样的字符串, : 左边是键,右边是值
如果里面有中文,那么在json字符串中不会显示中文而是一堆转码之后的内容:
{"u8868u91ccu5982u4e00":"u5fc3u53e3u5982u4e00","u8868u9762":"u5916u9762"}
那么我们正式介绍如何使用Python解析json: 使用json模块的loads和dumps方法
#首先引入库:
import json
obj = {'one':1,"two":2,"three":[1,2,3]}
encoded=json.dumps(obj) #字典变字符串
#此时obj会变成字符串,json的处理就是在字典和字符串之间的转换
decoded=json.loads(encoded) #字符串变回字典
如果希望将得到的json数据存成一个文件,可以使用dump和load方法
#首先引入库:
import json
obj = {'one':1,"two":2,"three":[1,2,3]}
with open("demo.json","w") as f:
json.dump(obj,f) #传入字典和文件句柄,写入到json文件
with open("demo.json","r") as f:
data = json.load(f) #出入句柄读取json并转为字典
print(data) #返回的是一个字典
从网络接口中请求到的一般是字符串的json,我们使用json.dumps就可以转为字典