处理json的几种方案 骑猪看日落 2021-10-29 18:50 421阅读 0赞 一、什么是JSON ![725125-20190807164854960-1919632400.png][] 其中类文件对象的理解: 具有read()或者write()方法的对象就是类文件对象,比如f = open(“a.txt”,”r”) f就是类文件对象 1、 json\_str = json.dumps(mydict,indent=2,ensure\_ascii=False,sort\_keys=True) 格式化处理返回json数据 * json.dumps : 实现python类型转化为json字符串 * indent : 实现换行和空格,一般为indent=2 * ensure\_ascii=False : 实现让中文写入的时候保持为中文 * sort\_keys=True : 实现以26个字母顺序排列 2、json.loads : 把json字符串转化为python的数据类型 my\_dict = json.loads(json\_str) 3、json.dump 实现把python 类型写入类文件对象 *with open(“temp.txt”,”w”) as f: json.dump(mydict,f,ensure\_ascii=False,indent=2)* 4、json.load 实现类文件对象中的json字符串转化为python类型 *with open(“temp.txt”,”r”) as f: my\_dict = json.load(f)* 二、实际应用 \#如果用requests发起的请求 import json res = requests.get(url,headers=self.headers) res = requests.content.decode() \#在python3中,res.content 返回的是二进制bytes类型的数据,需要用decode()转成unicode的str类型,当请求头中有Accept-Encoding: gzip, deflate时,返回的响应需要解压,即 import gzip ret = gzip.decompress(res.content).decode("utf-8") res = json.loads(res) \#转成json对象,在python里也就是dict类型 \#如果用scrapy.Requests发的请求 import json import scrapy res = scrapy.Requests(url,headers=self.headers) res = res.txt.decode() res = json.loads(res) \#转成json对象,在python里也就是dict类型 三、什么是jsonpath\_rw 比json好用的东东,当json存在多层数据串的时候应用比较方便 json\_obj = \{"student":\[\{"male":176,"female":162\},\{"male":174,"female":159\}\]\} \[match.value for match in male\] \[176, 174\] parse:分析 * 语句解析:先分析,再查找提取value ![725125-20190807164541669-436465658.png][] * 先分析,再匹配他们来自哪里 ![725125-20190807164614024-485881680.png][] 转载于:https://www.cnblogs.com/deeptester-vv/p/11316105.html [725125-20190807164854960-1919632400.png]: /images/20211029/6e0dab4953e549c7bf86e41577004809.png [725125-20190807164541669-436465658.png]: /images/20211029/c26c974c93914b978ba8016b33b89729.png [725125-20190807164614024-485881680.png]: /images/20211029/3982fcc820b04ec8b06b5fa5cdcbe935.png
还没有评论,来说两句吧...