更新时间:2022-05-05 GMT+08:00
分享

表达式运算符说明

概述

表达式类型包括“简易表达式”、“JsonPath表达式”和“XPath表达式”。在“分支判断”、“变量赋值”、“数据拆分”和“数据过滤”组件中,用户可选择表达式类型进行数据处理。

运算符说明

  • “简易表达式”可引用“系统数据”和“属性数据”。
    表1 系统数据和属性数据引用说明

    数据类型

    数据来源

    引用方式

    系统数据

    外部调用开放的API时的请求体。

    ${body}

    查询“数据源”的结果。

    “HTTP Client”组件调用结果的响应体内容。

    属性数据

    “Open API”组件中创建的请求参数(包括Header、Query和Path类型的参数)。

    ${property.变量名}

    “变量赋值”组件中创建的变量。

    “HTTP Client”组件调用API的响应头参数。

  • “JsonPath表达式”和“XPath表达式”用于解析“系统数据”中API的请求体或者响应体。
    • 待解析的“系统数据”为Json格式时,请使用“JsonPath表达式”。
    • 待解析的“系统数据”为XML格式时,请使用“XPath表达式”。
      示例:
      • “系统数据”的请求体或者响应体如下时,可通过“JsonPath表达式”$.id来获取“id”参数的值。
        { 
            "id": 1, 
            "name": "test_user"
        }
      • “系统数据”的请求体或者响应体如下时,可通过“JsonPath表达式”$[1].name来获取“"test_user02”。
        [ 
            { 
                "id": 1, 
                "name": "test_user01"
            }, 
            { 
                "id": 2, 
                "name": "test_user02"
            } 
        ]
      • “系统数据”的请求体或者响应体如下时,可通过“XPath表达式”/bookstore/book/title/text()来获取“title ”参数的值。
        <?xml version="1.0" encoding="UTF-8"?> 
        <bookstore> 
          <book> 
            <title lang="en">Harry Potter</title> 
            <author>J K. Rowling</author> 
            <year>2005</year> 
            <price>30.00</price> 
          </book> 
        </bookstore>

简易表达式运算符

支持的关系运算符如下表所示。

关系运算符

描述

==

判断左侧值是否等于右侧值,如:${property.name} == ‘test’

=~

忽略大小写,判断左侧字符串是否等于右侧字符串,如:${property.name} =~ ‘TEST’

!=

判断左侧值是否不等于右侧值,如:${property.name} != ‘test’

!=~

忽略大小写,判断左侧字符串是否不等于右侧字符串,如:${property.name} !=~ ‘TEST’

>

判断左侧值是否大于右侧值,如:${property.num} > 1

>=

判断左侧值是否大于或等于右侧值,如:${property.num} >= 1

<

判断左侧值是否小于右侧值,如:${property.num} < 1

<=

判断左侧值是否小于或等于右侧值,如:${property.num} <= 1

contains

判断左侧字符串中是否包含右侧字符串,如:${property.name} contains ‘test’

!contains

判断左侧字符串中是否不包含右侧字符串,如:${property.name} !contains ‘test’

~~

忽略大小写,判断左侧字符串中是否包含右侧字符串,如:${property.name} ~~ ‘TEST’

!~~

忽略大小写,判断左侧字符串中是否不包含右侧字符串,如:${property.name} !~~ ‘TEST’

regex

判断左侧值是否满足右侧正则表达式,如:${property.num} regex '\\d{4}'

!regex

判断左侧值是否不满足右侧正则表达式,如:${property.num} !regex '\\d{4}'

in

判断左侧值是否在右侧集合中,集合中元素通过英文逗号(,)分割,如:${property.num} in ‘1,2,3’

!in

判断左侧值是否不在右侧集合中,集合中元素通过英文逗号(,)分割,如:${property.num} !in ‘1,2,3’

is

判断的左侧对象的类型是否为右侧,如:${property.name} is ‘String’

!is

判断的左侧对象的类型是否不为右侧,如:${property.name} !is ‘String’

startsWith

判断左侧字符串是否以右侧字符串开始,如:${property.name} startsWith ‘test’

endsWith

判断左侧字符串是否以右侧字符串结尾,如:${property.name} endsWith ‘test’

支持的逻辑运算符如下表所示。

逻辑运算符

描述

&&

且,如:${property.name} == ‘test’ && ${property.num} == 1

||

或,如:${property.name} == ‘test’ || ${property.num} == 1

分享:

    相关文档

    相关产品

close