3.13、解析JSON
功能模块如图所示:

解析JSON ¶
功能:该节点是用于JSON的查询语言,类似于用于XML的XPath。使用路径表达式来选取 JSON 文档中的节点或者节点集合。单个查询的结果是单个值。集合查询的结果是多个值的列表。解析JSON查询的结果被转换为所选的类型。如果结果是一个列表,并且所选择的类型不兼容,则执行将失败。如果结果不能转换为所选的类型,则将返回一个缺失的值。

配置界面功能说明:
配置-设置:
- 输入:选择路径的JSON列。
- 删除源列:选中后,源列将被删除。
- 输出:从输入的JSON内容中,添加查询对应的路径,并输出。所选的列可以使用下面的编辑按钮修改,也可以通过双击一行编辑表中的单元格来自定义。
- 添加单个查询:将JSON数据预览中光标的(特定的:仅选定的)路径添加到输出列表中。
- 添加集合查询:将JSON数据预览中的光标路径(通用的:数组中的选定的和其同级的)添加到输出列表中。
- 添加解析JSON:向“输出”表中添加新列。这个新条目选择JSON中所有可用的路径,而不考虑预览中的当前选择。然后可以手动编辑此通用条目以指向特定路径。若要向预览中选择的值添加路径,请使用“添加单个查询”或“添加集合查询”。
- 编辑解析JSON:允许使用弹出对话框编辑所选行。
- 删除解析JSON:从“输出”表中删除所选行。
举例说明¶
示例:输入的json数据如下所示,对以下json内容解析。
{
"book":[
{
"year":1999,
"title":"Timeline",
"author":"Michael Crichton"
},
{
"year":2000,
"title":"Plain Truth",
"author":"Jodi Picoult"
}
]
}
示例数据JSON解析表达式和查询结果对应说明,如下表:
| JSON解析表达式 | 查询结果 |
|---|---|
| $.book[0] | {"year": 1999,"title": "Timeline","author": "Michael Crichton"} |
| $.book[*].year | [1999,2000] |
| $.book[2].year | ? (没有此部分内容,输出为缺失值) |
| $.book[?(@.year==1999)].title | Timeline( String类型) or "Timeline"(JSON类型) |
表达式和输出结果,如下图所示:
