用于JSON的XPath的定义
json的Xpath总是适用于JSON的数据项,因为我们可以说在同样的情况下,xpath被用作XML文档的组合。基本上,JSON的数据项通常是匿名的,它没有一个根成员对象。我们使用json path作为一个抽象的名字来引用顶层对象的数据项。JSON的Xpath在JSON中是非常有用和重要的。
什么是JSON的XPath?
JSON的Xpath包含点符号,对于输入路径,JSON路径处理器使用内部表达式,而对于输出路径,它将被转换为一般的括号符号。JSON的Xpath将允许 "*"作为成员名称的通配符,它包括数组。它将借用后裔的操作符。JSON将采用一种用圆括号编写的脚本语言。我们可以在当前对象中使用*符号来过滤那些通过布尔表达式支持的表达式。
如何对JSON使用XPath?
JSON数据将从网络服务中返回,其中包含单一的父对象,它将子对象包裹在一个数组中。假设我们直接使用父对象,那么报告就不能详细地显示记录了。
- 通过使用json路径的表达方式,返回子对象的数组或嵌套数组是比较方便的,如下所示。
代码 -
{
"School": {
"stud": [
{
"Name": "ABC",
"No": "1",
"Addr": "Pune",
"Grade": "A"
},
{
"Name": "PQR",
"No": "2",
"Addr": "Mumbai",
"Grade": "A"
}
]
}
- 我们还可以通过使用json数据过滤器来过滤json数据xpath,它被用来显示匹配标准的对象,具体如下。
代码 -
{
"Organization": {
"Employee": [
{
"Emp_No": "101",
"Name": "ABC",
"Addr": "Mumbai",
"Salary": "25k"
},
{
"Emp_No": "102",
"Name": "PQR",
"Addr": "Pune",
"Salary": "30k"
}
]
}
- 数据是以交互方式找到的,它是从客户端的JSON结构中提取的,没有使用任何特殊的脚本。
- 如果假设客户端正在请求JSON数据,通过最小化响应服务器的使用带宽,将其减少到相关部分到服务器上。
- 如果一个工具要从JSON结构中挑选部分,它将使用以下的xpath表达式。
JSON表达式的X路径
/school/ student\[1\]/ stud\_name
- 我们也可以通过使用JSON在xpath中写出同样的内容,如下所示:
x.school.student\[0\].stud\_name
- 我们也可以把上面的语句改成如下:
X[‘school’][‘student’] [0][‘stud_name’]
- 在javascript中,PHP和python将持有JSON的结构,它自然是基于语言的特性。
- 它将只涵盖1.0 xpath的基本部分。它在运行时是有效的。json路径的表达总是指JSON的结构,因为我们可以说,以同样的方式,xpath被用于xml的组合。
- 我们知道,json路径表达式将以美元($)的符号开始。它是指查询中的根元素。基本上美元符号后面是序列中的子元素。
- 通过使用xpath json,可以交互式地查找数据并从项目中提取数据。为了给客户的请求指定JSON的相关部分,服务器将在其响应中减少数据。
用于JSON表达式的XPath
- 下面是我们在JSON中使用的xpath json表达式,如下所示。下面是显示表达式的表格,如下。
| Sr. No. | Xpath | Json | 描述 |
| 1 | 点(.) | @ | 用来定义当前元素的对象。 |
| 2 | / | $ | 这是用来定义根元素的对象。 |
| 3 | () | 不适用 | 这是用来定义xpath中的分组。 |
| 4 | 不适用 | () | 它只不过是脚本的表达式,是脚本引擎中的底层。 |
| 5 | 不适用 | [开始:结束] | 这是一个从ES4中借用的数组切片操作符。 |
| 6 | [] | ?() | 它用于将过滤器应用于脚本的表达式。 |
| 7 | / | [] | 这是一个子运算符,在表达式中使用。 |
| 8 | .. | 不适用 | 这是在表达式中使用的父运算符。 |
| 9 | // | .. | 它将借用E4X中的JsonPath语法。 |
| 10 | * | * | 它在对象元素中使用,不管使用它们的名字。它在表达式中是一个通配符。 |
| 11 | @ | 不适用 | 它用于访问属性。Json数据项不包含任何属性。 |
| 12 | [] | [] | 它是下标Xpath的操作符,使用这个操作符来迭代元素谓词的集合。在json和javascript中,它是本地数组的操作符。 |
| 13 | | | [,] | 在xpath的结果中,它是一个联合运算符,是一组节点的组合。Json路径是允许我们有一组数组的索引和名称。 |
- $将代表被省略的根数组的对象。表达式将参考JSON的结构。
JSON的XPath例子
- 下面是json的xpath的例子,如下。在下面的例子中,我们正在创建父类为组织,子类为雇员。
代码 -
{
"Organization": {
"Employee": [
{
"Emp_No": "1001",
"Name": "XYZ",
"Addr": "Chennai",
"Salary": "30k"
}
{
"Emp_No": "1002",
"Name": "ABC",
"Addr": "Mumbai",
"Salary": "25k"
},
{
"Emp_No": "1003",
"Name": "PQR",
"Addr": "Pune",
"Salary": "30k"
}
]
}
- 在下面的例子中,我们创建的父类名称是学校,我们创建的两个子类名称是学生和教师,如下所示。
代码 -
{
"School": {
"Student": [
{
"Stud_no": "1",
"Name": "XYZ",
"Addr": "Mumbai",
}
{
"Stud_no": "2",
"Name": "ABC",
"Addr": "Mumbai",
},
{
"Stud_no": "3",
"Name": "PQR",
"Addr": "Mumbai",
}
"Teacher": {
"name": "ABC",
}
},
"stud": 101
]
}
结论
JSON的Xpath将允许 "*"作为成员名称的通配符,它包括数组。它总是适用于JSON的数据项,因为我们可以说,在同样的情况下,xpath被用作XML文档的组合。