`

使用jsonpath 像xpath解析xml一样解析json

 
阅读更多

JsonPath 对于 JSON 来说相当于 XPATH 对于 XML,你也想过用如下表达式获取list吧。而不用一个一个jsonobject去遍历;

 

List<String> list = JsonPath.read(json,

"$..ns:items[?(@.ns:dataName == 'Installaddr')].ns:dataValue");

类似这样获取json中相同对象中的元素,jsonpath的表达式详见:

JsonPath的语法

JsonPath是一种类似XPATH的语法,下表是两者语法的对比:

XPath JSONPath 描述
/ $ 根节点
. @ 现行节点
/ . or [] 取子节点
.. n/a 取父节点,Jsonpath未支持
// .. recursive descent(就是不管位置,选择所有符合条件的条件). JSONPath 从 E4X规范中继承了这个语法的使用法。
* * 匹配所有元素节点
@ n/a 根据属性访问,Json不支持,因为Json是个Key-value递归结构,不需要。
[] [] 迭代器标示(可以在里边做简单的迭代操作,如数组下标,根据内容选值等)
| [,] 支持迭代器中做多选。
n/a [start:end:step] 从ES4规范继承的切片方法(非常实用)
[] ?() 支持过滤操作.
n/a () 支持表达式计算
() n/a 分组,JsonPath不支持

更多表达式参照:

http://goessner.net/articles/JsonPath/

依赖包下载附件。

分享到:
评论

相关推荐

    JsonPath使用类似XPATH的语法从JSON提取数据

    JsonPath是一种用于从JSON文档中提取数据的语言,其语法与XPath在XML文档中的操作非常相似。XPath是XML处理中常用的一种路径表达式语言,而JsonPath则是为JSON数据设计的查询语言。在Java开发中,处理JSON格式的数据...

    读json文件自动生成jsonpath

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛应用于Web服务和API接口的数据交互。...如果你需要进一步操作或解析JSON数据,还可以使用如Jackson或Gson这样的库进行转换和操作。

    Xpath、BeautifulSoup、JsonPath三种解析方式

    在Python中,我们可以使用lxml库来实现XPath解析。 应用案例: 例如,抓取站长素材网站上的图片,首先需要安装lxml库(`pip install lxml -i https://pypi.douban.com/simple`)。然后,通过以下步骤使用XPath插件...

    JSON解析包3种解析jar包下载

    它还支持JSONPath,一种类似XPath的语言,用于在JSON文档中查找和操作数据。此外,net.sf.json还提供了XML和JSON之间的互转功能,这在需要同时处理这两种格式的应用中非常有用。 在选择JSON解析包时,开发者通常会...

    Python-JSONPath在JSON层次结构中轻松找到一个键值的路径

    JSONPath是一种查询语言,用于在JSON数据结构中检索信息,类似于XPath对于XML的作用。在Python开发中,理解和掌握JSONPath是处理JSON数据的关键技能之一,特别是在处理复杂或嵌套的JSON对象时。本文将深入探讨...

    Delphi 7下的JSON解析

    同样,"superxmlparser.dcu"和"superxmlparser.pas"可能是与XML解析相关的编译单元和源代码文件,尽管它们不是JSON解析的直接部分,但可能作为辅助工具,用于帮助处理XML数据,有时在处理JSON时也会遇到XML格式的...

    Json解析7个完整架包

    这是一个轻量级的库,提供了简单的API来创建和解析JSON。它包括`JSONObject`、`JSONArray`、`JSONStringer`等类,适合简单的JSON操作,但功能相对较弱,不适合复杂的数据结构。 4. **JsonPath**: JsonPath是用于...

    使用json-path解析json

    JSON Path类似于XPath对于XML的作用,它提供了一种查询JSON数据的表达式语言。 **JSON Path简介** JSON Path是由Goessner在2007年提出的,它的主要目标是为JSON数据提供一个简单的路径语言,方便在JSON文档中查找和...

    jsonPath所需jar包(json-path-0.8.1.jar,json-smart-1.1.1.jar,commons-lang-2.6.jar)

    JSONPath是一种广泛使用的查询语言,专门用来从JSON(JavaScript Object Notation)数据中提取信息,类似于XPath对于XML的作用。在Java开发中,如果你需要处理JSON数据,JSONPath库提供了非常便利的功能。本压缩包...

    Json.net在线解析Json示例

    通常,解析JSON字符串涉及以下步骤: 1. **导入Json.NET**: 在解决方案中,`packages.config`文件包含了Json.NET的依赖信息,确保已安装最新版本的Json.NET库。 2. **创建JSON字符串**: JSON数据可以作为字符串...

    apache json解析开源项目

    JSONPath是一种查询JSON数据的语言,类似于XPath在XML中的作用。某些Apache JSON实现可能支持JSONPath,允许开发者通过表达式提取JSON结构中的特定数据。 8. **Android兼容性** 这个开源项目特别适用于Android...

    json解析jar包

    6. **JSONPath支持**:类似XPath对于XML,`net.sf.json`库提供JSONPath支持,可以方便地查询JSON结构中的特定数据。 7. **性能优化**:`net.sf.json`库进行了优化,对于大量JSON数据处理时,性能表现良好。 总的来...

    json数据解析

    在测试过程中,我们可能需要提取JSON响应中的特定数据,这时可以使用JSONPath(类似于XPath用于XML)来定位数据。同时,JSON断言用于验证JSON响应是否符合预期。 7. JSON在Web服务中的应用: JSON常用于API接口的...

    com.alibaba.fastjson json解析工具包

    除此之外,`fastjson`还支持JSONPath表达式,用于在JSON文档中查询和修改数据,类似于XPath在XML文档中的作用。这使得在处理复杂JSON结构时更加灵活。 在实际开发中,`fastjson`不仅可以用于前后端数据交换,还可以...

    阿里 FastJson jar包,快速解析json数据

    - **JSONPath**:类似XPath用于XML,FastJson支持JSONPath表达式,方便查询JSON数据。 4. **最佳实践** - **使用`FastJsonConfig`进行配置**:根据项目需求,提前配置好FastJson的行为,如日期格式、是否忽略空值...

    JsonPath表达式测试工具【含代码】

    JsonPath是一种在JSON数据结构中查询数据的语言,类似于XPath在XML文档中的作用。它由Goessner在2006年提出,被广泛应用于API测试、数据解析和自动化任务中。本文将详细介绍如何使用JsonPath表达式以及一个基于...

    JsonPath2.4.0及其依赖包

    JsonPath 是一个强大的库,主要用于在JSON数据结构中提取信息,类似于XPath对于XML的作用。它在Java开发中广泛使用,特别是在处理API响应或测试时。JsonPath 2.4.0是该库的一个版本,提供了丰富的功能来方便地查询、...

    阿里json解析包.7z

    7. **JSONPath支持**:类似于XPath在XML中的作用,Fastjson支持JSONPath,方便查询和提取JSON文档中的数据。 8. **JSON Schema验证**:Fastjson可以对JSON数据进行Schema验证,确保数据的正确性。 9. **日期时间...

    Python爬虫数据抽取(一):解析库json及jsonpath pickle

    JsonPath是类似XPath的语言,用于在JSON文档中查找数据。它允许我们用表达式来定位并提取JSON数据。 4.1 使用 JsonPath通常与第三方库如`jsonpath-ng`一起使用。例如,获取上例JSON对象的"name"值: ```python from...

Global site tag (gtag.js) - Google Analytics