jsonpath相关---JSONPath - 用于 JSON 的 XPath

2024-02-01 11:04

本文主要是介绍jsonpath相关---JSONPath - 用于 JSON 的 XPath,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一.简介

XML 的一个经常强调的优点是提供了大量工具来分析、转换和有选择地从 XML 文档中提取数据。XPath 就是这些强大的工具之一。

现在是时候想知道,是否需要像 XPath4JSON 这样的东西,以及它可以解决哪些问题。

无需特殊脚本,即可以交互方式从客户端上的 JSON 结构中查找和提取数据。
客户端请求的JSON数据可以减少到服务器上的相关部分,从而最大限度地减少服务器响应的带宽使用。
如果我们同意,从手头的JSON结构中挑选零件的工具确实有意义,那么就会出现一些问题。它应该如何完成它的工作?JSONPath 表达式是什么样子的?

由于 JSON 是 C 系列编程语言数据的自然表示,因此特定语言具有访问 JSON 结构的本机语法元素的可能性很高。

以下 XPath 表达式

/store/book[1]/title

看起来像

x.store.book[0].title

x[‘store’][‘book’][0][‘title’]

在 Javascript、Python 和 PHP 中,带有一个包含 JSON 结构的变量。在这里,我们观察到,特定语言通常已经内置了基本的 XPath 功能。

二.jsonpath表达式

JSONPath 表达式始终引用 JSON 结构,其方式与 XPath 表达式与 XML 文档结合使用的方式相同。由于 JSON 结构通常是匿名的,并且不一定具有“根成员对象”,因此 JSONPath 采用分配给外部级别对象的抽象名称。$

JSONPath 表达式可以使用点表示法

$.store.book[0].title

或括号表示法

$[‘store’][‘book’][0][‘title’]

用于输入路径。内部路径或输出路径将始终转换为更通用的括号表示法。

JSONPath 允许成员名称和数组索引使用通配符 *。 它借用了 E4X 的后代运算符 ‘…’ 和 ECMASCRIPT 4 的数组切片语法建议。[start :end :step]

基础脚本语言的表达式可以用作显式名称或索引的替代方法,如(< expr>)

$.store.book[(@.length-1)].title

使用符号“@”表示当前对象。筛选表达式通过以下语法支持,如下所示?(< boolean expr>)

$.store.book[?(@.price < 10)].title

以下是 JSONPath 语法元素与其 XPath 对应项的完整概述和并排比较。
在这里插入图片描述

三.例子

{ "store": {"book": [ { "category": "reference","author": "Nigel Rees","title": "Sayings of the Century","price": 8.95},{ "category": "fiction","author": "Evelyn Waugh","title": "Sword of Honour","price": 12.99},{ "category": "fiction","author": "Herman Melville","title": "Moby Dick","isbn": "0-553-21311-3","price": 8.99},{ "category": "fiction","author": "J. R. R. Tolkien","title": "The Lord of the Rings","isbn": "0-395-19395-8","price": 22.99}],"bicycle": {"color": "red","price": 19.95}}
}

在这里插入图片描述

这篇关于jsonpath相关---JSONPath - 用于 JSON 的 XPath的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/667064

相关文章

requests处理token鉴权接口和jsonpath使用方式

《requests处理token鉴权接口和jsonpath使用方式》文章介绍了如何使用requests库进行token鉴权接口的处理,包括登录提取token并保存,还详述了如何使用jsonpath表达... 目录requests处理token鉴权接口和jsonpath使用json数据提取工具总结reques

MySQL 中的 JSON_CONTAIN用法示例详解

《MySQL中的JSON_CONTAIN用法示例详解》JSON_CONTAINS函数用于检查一个JSON文档中是否包含另一个JSON文档,这篇文章给大家介绍JSON_CONTAINS的用法、语法、... 目录深入了解 mysql 中的 jsON_CONTAINS1. JSON_CONTAINS 函数的概述2

java中判断json key是否存在的几种方法

《java中判断jsonkey是否存在的几种方法》在使用Java处理JSON数据时,如何判断某一个key是否存在?本文就来介绍三种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的... 目http://www.chinasem.cn录第一种方法是使用 jsONObject 的 has 方法

Go语言中json操作的实现

《Go语言中json操作的实现》本文主要介绍了Go语言中的json操作的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录 一、jsOChina编程N 与 Go 类型对应关系️ 二、基本操作:编码与解码 三、结构体标签(Struc

Vue3 如何通过json配置生成查询表单

《Vue3如何通过json配置生成查询表单》本文给大家介绍Vue3如何通过json配置生成查询表单,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录功能实现背景项目代码案例功能实现背景通过vue3实现后台管理项目一定含有表格功能,通常离不开表单

MyBatis-plus处理存储json数据过程

《MyBatis-plus处理存储json数据过程》文章介绍MyBatis-Plus3.4.21处理对象与集合的差异:对象可用内置Handler配合autoResultMap,集合需自定义处理器继承F... 目录1、如果是对象2、如果需要转换的是List集合总结对象和集合分两种情况处理,目前我用的MP的版本

C#下Newtonsoft.Json的具体使用

《C#下Newtonsoft.Json的具体使用》Newtonsoft.Json是一个非常流行的C#JSON序列化和反序列化库,它可以方便地将C#对象转换为JSON格式,或者将JSON数据解析为C#对... 目录安装 Newtonsoft.json基本用法1. 序列化 C# 对象为 JSON2. 反序列化

Python中Json和其他类型相互转换的实现示例

《Python中Json和其他类型相互转换的实现示例》本文介绍了在Python中使用json模块实现json数据与dict、object之间的高效转换,包括loads(),load(),dumps()... 项目中经常会用到json格式转为object对象、dict字典格式等。在此做个记录,方便后续用到该方

GSON框架下将百度天气JSON数据转JavaBean

《GSON框架下将百度天气JSON数据转JavaBean》这篇文章主要为大家详细介绍了如何在GSON框架下实现将百度天气JSON数据转JavaBean,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录前言一、百度天气jsON1、请求参数2、返回参数3、属性映射二、GSON属性映射实战1、类对象映

Python进行JSON和Excel文件转换处理指南

《Python进行JSON和Excel文件转换处理指南》在数据交换与系统集成中,JSON与Excel是两种极为常见的数据格式,本文将介绍如何使用Python实现将JSON转换为格式化的Excel文件,... 目录将 jsON 导入为格式化 Excel将 Excel 导出为结构化 JSON处理嵌套 JSON: