介绍
这期内容当中小编将会给大家带来有关如何在Python中使用jsonpath-rw模块处理Json对象,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
#如果用的请求发的请求 import json 时间=response requests.get (url,头=self.headers) 时间=response response.content.decode () response =, json.loads(反应),#转成json对象,在python里也就是dict类型
#如果用的scrapy.Request发的请求 import json import scrapy 时间=response scrapy.Request (url,头=self.headers) 时间=response response.text.decode () response =, json.loads(反应),#转成json对象,在python里也就是dict类型
也就是说处理json对象其实可以和处理dict一样,那就要用到很多中括号,而且取值也只能取单个精确的值。一点都不灵活
用过xpath和css选择器的人当然会觉得这种方法很笨重。
而恰巧json也有类型的选择器:<代码> jsonpath 代码>
但是需要注意的是,python的库并不是jsonpath(还真有这个库,但是不知如何使用,官方也没有给出python的使用文档),真正在python中可以使用的库是:<代码> jsonpath-rw 代码>
<强>官方文档强>:https://pypi.python.org/pypi/jsonpath-rw(更多jsonpath的语法请点击链接)
下面只列下简单常用的基本方法
<强>使用示例强>
在祝辞祝辞,得到jsonpath_rw import jsonpath,解析 在祝辞祝辞,json_obj =, {“student": [{“male": 176年,“female": 162}, {“male": 174年,“female": 159}]} 在祝辞祝辞,jsonpath_expr =,解析(“[*].male"学生) 在祝辞祝辞,male =, jsonpath_expr.find (json_obj) 在祝辞祝辞,male #返回的是列表,但是不是我们想要的值 [DatumInContext (value=https://www.yisu.com/zixun/176,路径=字段(男性),上下文=DatumInContext (value={“男性”:176年,“女性”:162},=、上下文=DatumInContext (value=[{“男性”:176年,“女性”:162},{“男性”:174年,“女性”:159}),路径=字段(“学生”),上下文=DatumInContext (value={“学生”:[{“男性”:176年,“女性”:162},{“男性”:174年,“女性”:159}]},路径=(),上下文=None)))), DatumInContext(值=174,路径=字段(男性),上下文=DatumInContext (value={“男性”:174年,“女性”:159},= 、上下文=DatumInContext (value=[{“男性”:176年,“女性”:162},{“男性”:174年,“女性”:159}),路径=字段(“学生”),上下文=DatumInContext (value={“学生”:[{“男性”:176年,“女性”:162},{“男性”:174年,“女性”:159}]},路径=(),上下文=None))))) #想要获取值,要用如下方法>>(匹配。值匹配的男性) (176、174)
上述就是小编为大家分享的如何在Python中使用jsonpath-rw模块处理Json对象了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。