JsonPath

授权协议 Apache
开发语言 Java PHP Python JavaScript
所属分类 Web应用开发、 JSON/BSON开发包
软件类型 开源软件
地区 不详
投 递 者 黄无尘
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

JsonPath 对于 JSON 来说相当于 XPATH 对于 XML。这是一个简单的从文档中抽取指定信息的工具,提供多种语言实现版本,包括:Javascript, Java, Python 和 PHP

  • JsonPath是一种简单的方法来提取给定JSON文档的部分内容。 JsonPath提供的json解析非常强大,它提供了类似正则表达式的语法,基本上可以满足所有你想要获得的json内容。 JsonPath中的“根成员对象”始终称为$,无论是对象还是数组。 JsonPath表达式可以使用点表示法 $.store.book [0].title 或括号表示法 $['store']['book'][0][

 相关资料
  • 问题内容: 是否可以使用JsonPath计算成员数量? 使用Spring MVC Test我正在测试生成的控制器 与 我想确保生成的json中没有其他成员。希望通过使用jsonPath计数它们。可能吗?也欢迎其他解决方案。 问题答案: 要测试 数组的 大小: 要计算 对象的 成员: 即测试API返回4个项目的 数组 : 接受值: 测试API是否返回包含2个成员的 对象 : 接受值: 我正在使用Ha

  • 问题内容: 由于与我正在从事的项目有关的原因,我希望对JSON文件的整个查询都以字符串形式保存(例如,(而不是必须将文档的每个级别临时存储为单独的对象)) 。 我目前正在使用JsonPath(版本0.8.0,这是我能找到的最新版本),基本上这正是我在寻找的东西,但是我得到了下面显示的异常。我只是使用JsonPath Google代码页上的示例JSON,并使用其中的一个示例查询。 我在这里做错了什么

  • 问题内容: 单独使用单个JSONPath表达式,可以执行某种“ OR”或“ ||” 操作员。例如,这两个JSONPath布尔表达式用于检查日志JSON文件的严重性: 但我想在逻辑上做类似的事情: 有什么办法吗? 问题答案: 从JSONPath页面: [,]-XPath中的Union运算符导致节点集的组合。JSONPath允许将备用名称或数组索引作为一组。 尝试 编辑:逻辑AND和OR运算符似乎存在

  • 问题内容: 嘿,我想知道是否有人知道使用正则表达式或通配符(或SQL中的pehaps )的方式,以便可以使用JSONPath在大量JSON数据内进行搜索。 例如(是的,我正在解析,而不是在应用程序中读取数据): 我希望能够浏览这样的数据: 其中参数的内容是数据对中部分或全部值的一部分。 目前,我只找到文件上,,,和关系运算符,它不给我那么多的灵活性。 有谁知道一个方法可以让我只是 刚刚 JSONP

  • 问题内容: 我有以下JSON,我需要使用JSONPath获得纯值: 我使用的表达式是,但是我总是得到一个数组: 而不是字符串值()。 问题答案: 但是我总是得到一个数组: 那是必然的。如您在本文档中所读,位于“结果”下(几乎在底部): 请注意,jsonPath的返回值是一个数组,也是一个有效的JSON结构。因此,您可能想再次将jsonPath应用于结果结构,或使用您喜欢的数组方法之一对其进行排序。

  • 问题内容: 我有一个简单的应用程序,它需要遍历一个大型数组(包含约2万个项目),并且在每个数组中,我解析一个子数组。每个项目如下所示: 我正在遍历每个项目。我要做的是首先读取长度,然后简单地遍历整个数组。但这非常慢(例如每秒1个项目)。 有没有优化的方法? 问题答案: 得到它了。多亏了Erwin,我可以一次将整个JSON解析成一个简单的样子: 然后我们可以简单地调用以访问循环中的特定项目:

  • 问题内容: 这是json文件 我想通过直接给XPath / JsonPath Like来更改name。的值 这只是一个例子 我正确使用杰克逊库,并使用以下代码通过XPath进行读取 所以他们是一种通过XPath更改名称的方法 仍然在文件中不起作用。 问题答案: 使用Jayways JsonPath,您可以: 您可以配置默认的JsonProvider,因此不必在所有调用中都传递它。

  • 问题内容: 我正在使用Newtonsoft的Json.Net从以下json中选择节点: 以下C#代码段 产量: 现在,这很酷,我想做的是按客户端代码过滤,我认为 可以,但是我显然对语法不够了解。这将返回一个空列表: 并且单个令牌选择器返回null: 我在https://jsonpath.curiousconcept.com/上尝试了几种不同的配置,看来我的查询语法确实坏了。 使用Flow Comm