使用Groovy更改正文数据中的内联Jmeter变量JSON obj

zd287kbt  于 2022-11-01  发布在  其他
关注(0)|答案(2)|浏览(190)

想法是获取Jmeter变量notification,即JSON对象,编辑notification.isRead prop并将其解析回字符串以供发布。但赋值运算符有问题。使用=时,我什么也得不到,没有返回解析后的JSON(如预期)。
有了这个我就快到了,但是我不知道如何编辑prop isRead

$ {__groovy
    (
        (
            new groovy.json.JsonBuilder(

                new groovy.json.JsonSlurper().parseText(vars.get('notification')).isRead = false

            ).toPrettyString()
        )
    )
}

对象:

notification: {
    "isRead": false, 
}
ewm0tg9j

ewm0tg9j1#

很显然,这是正确的语法。

${__groovy
(
    def json = new groovy.json.JsonSlurper().parseText(vars.get('notification')) 
    json.isRead = false

    ( new groovy.json.JsonBuilder(json).toPrettyString())
    )}
svmlkihl

svmlkihl2#

在您的示例中,JsonSlurper.parseText()函数返回LazyMap的示例,如果成功,更改该值将只返回true
如果希望__groovy()函数返回整个修改后的JSON,则需要执行以下操作:

${__groovy(notification = new groovy.json.JsonSlurper().parseText(vars.get('notification')); notification.isRead = false; return new groovy.json.JsonBuilder(notification).toPrettyString(),)}

更多信息:

相关问题