跳转至

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类型)

表达式和输出结果,如下图所示:

积木功能