簡體   English   中英

使用 jMeter 中的 JSON Extractor 從 JSON 中提取嵌套的 JSON 內容

[英]Extract nested JSON content from JSON with use of JSON Extractor in jMeter

我在另一個 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 Extractor 與 JSON Path 表達式一起使用時:

$.JSON

它返回:

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

當我需要獲取原始字符串時:

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

我認為您需要切換到JSR223 PostProcessor而不是 JSON Extractor 並使用以下代碼:

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

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

您可以在需要時將提取的值稱為${rawString}

更多信息:

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

這里的 data 是你給定的 JSON 數據。 首先,您必須提取 JSON/數據。 然后你必須使用 JSON.stringify() 對 JSON 數據進行字符串化。 您在這里所做的令人困惑的事實是您將 JSON 對象中的鍵命名為“JSON”。 在 js 中,當您提取 JSON 對象時,如果有另一個嵌套 JSON 對象,您將始終僅通過 data.key_name 獲取 JSON 數據,其中數據是 JSON 數據鍵用於嵌套 JSON 鍵

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM