如何在Python中使用jsonpath-rw模块处理Json对象

  介绍

这期内容当中小编将会给大家带来有关如何在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对象了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。

如何在Python中使用jsonpath-rw模块处理Json对象