处理json的几种方案
一、什么是JSON
其中类文件对象的理解:
具有read()或者write()方法的对象就是类文件对象,比如f = open(“a.txt”,”r”) f就是类文件对象
1、json.dumps : 实现python类型转化为json字符串
json_str = json.dumps(mydict,indent=2,ensure_ascii=False,sort_keys=True) 格式化处理返回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)
二、实际应用
1、如果用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类型
2、如果用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
- 先分析,再匹配他们来自哪里
三十六般武艺,七十二般变化,修练出个人品牌并发出光芒
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律