我使用带路径表达式的JSON Path PostProcessor来存储来自JSON响应的JSON对象,但是当我稍后检索变量时,它已被缩减为带有键对值的字符串。所以我不知道那是一个字符串或数字。
实施例: 响应看起来像这样
{
.
.
"currency" : {
"code" : "AUD",
"name" : "Australian Dollars",
"symbol" : "$"
},
.
}
使用路径表达式,我找到currency
并保存。
但是,当我在HTTP请求正文数据("currency" : ${currency},
)中使用它时,
它是这样的:
"currency" : {code=AUD, name=Australian Dollars, symbol=$},
如何让JSON Path PostProcessor保存JSON对象'按原样#34;不丢失数据类型细节?我应该使用不同的方法而不是JSON Path吗?
答案 0 :(得分:0)
我建议您切换到docs和JSR223 PostProcessor语言,这样您就可以完全控制正在发生的事情并能够做您想做的事情。
假设您有以下JSON响应:
{
"currency": {
"code": "AUD",
"name": "Australian Dollars",
"symbol": "$"
}
}
相关的Groovy coode将类似于:
def json = new groovy.json.JsonSlurper().parse(prev.getResponseData())
def currency = json.currency
def currencyString = new groovy.json.JsonBuilder(currency).toPrettyString()
vars.put('currency', currencyString)
log.info(currencyString)
演示:
参考文献: