使用jMeter中的JSON提取器从JSON中提取嵌套的JSON内容

ttp71kqs  于 2022-11-09  发布在  其他
关注(0)|答案(2)|浏览(255)

我需要提取另一个JSON中的JSON内容,而不需要解析其内容:

{
    "id": 555,
    "name": "aaa",
    "JSON": "{\r\n  \"fake1\": {},\r\n  \"fake2\": \"bbbb\",\r\n  \"fake3\": \"eee\" \r\n}",
    "after1": 1,
    "after2": "test"
}

当我使用JSON提取器与JSON路径表达式:

$.JSON

它会传回:

"{  
    "fake1": {},  
    "fake2": "bbbb",  
    "fake3": "eee"
}"

当我需要获取原始字符串时:

"{\r\n  \"fake1\": {},\r\n  \"fake2\": \"bbbb\",\r\n  \"fake3\": \"eee\" \r\n}"
ecbunoof

ecbunoof1#

我认为您需要切换到JSR223 PostProcessor,而不是JSON提取器,并使用以下代码:

def json = new groovy.json.JsonSlurper().parse(prev.getResponseData()).JSON

vars.put('rawString', org.apache.commons.text.StringEscapeUtils.escapeJson(json))

在需要时,您可以将提取的值表示为${rawString}
更多信息:

jvlzgdj9

jvlzgdj92#

console.log(JSON.stringify(data.JSON))

这里的data是给定的JSON数据,你必须提取你的JSON/数据。然后你必须使用JSON.stringify字符串化JSON数据。().您在这里所做的令人困惑的事实是,您在JSON对象中将您的键命名为“JSON”。在js中,当您提取一个JSON对象时,如果存在另一个嵌套的JSON对象,您将总是通过data.key_获取JSON数据。其中data是JSON数据键的名称用于嵌套JSON键

相关问题