我在另一个JSON中有JSON内容,我需要按原样提取,而不解析其内容:
{
"id": 555,
"name": "aaa",
"JSON": "{rn "fake1": {},rn "fake2": "bbbb",rn "fake3": "eee" rn}",
"after1": 1,
"after2": "test"
}
当我使用JSON提取器与JSON路径表达式:
$.JSON
它返回:
"{
"fake1": {},
"fake2": "bbbb",
"fake3": "eee"
}"
当我需要获取原始字符串时:
"{rn "fake1": {},rn "fake2": "bbbb",rn "fake3": "eee" rn}"
我认为你需要切换到JSR223 PostProcessor而不是JSON提取器,并使用以下代码:
def json = new groovy.json.JsonSlurper().parse(prev.getResponseData()).JSON
vars.put('rawString', org.apache.commons.text.StringEscapeUtils.escapeJson(json))
您将能够在需要时将提取的值称为${rawString}
。
更多信息:
- Apache Groovy -解析和生成JSON
- Apache Groovy: Groovy是用来做什么的?
console.log(JSON.stringify(data.JSON))
这数据是你的JSON数据。首先,您必须提取JSON/data。然后必须使用JSON.stringify()对JSON数据进行字符串化。您在这里所做的令人困惑的事实是,您将JSON对象中的键命名为"JSON"。在js中,当您提取JSON对象时,如果有另一个嵌套的JSON对象,您将始终通过data.key_name获取JSON数据哪里的数据是JSON数据key为嵌套JSON键