我有一个请求,我将从以前API调用的响应中提取的一些值作为字符串发送到数组中。
{"content_id":[${identifier_trending_INDIVIDUAL},${identifier_fetch_INDIVIDUAL},${identifier_interestBased_INDIVIDUAL}]}
如果其中一个变量没有任何值,例如:identifier_etch_INDIVIDUAL是一个空字符串,我不想传递它。只有当它有值时,它才应该包含在请求的正文中。是否可以使用任何预处理器元素来实现这一点?
您可以使用JSR223预处理器和以下Groovy代码来实现这一点:
def payload = [:]
def content = []
content += vars.get('identifier_trending_INDIVIDUAL') ?: []
content += vars.get('identifier_fetch_INDIVIDUAL') ?: []
content += vars.get('identifier_interestBased_INDIVIDUAL') ?: []
payload.put('content_id', content)
vars.put('payload', new groovy.json.JsonBuilder(payload).toPrettyString())
您可以将HTTP请求采样器主体中生成的值引用为${payload}
更多信息:
- Apache Groovy-解析和生成JSON
- Apache Groovy-Elvis运算符
- Apache Groovy:Groovy的用途是什么