如何从 Jmeter 中的序列化 json 响应中提取值
How to extract value from serialized json response in Jmeter
我收到了针对 api 请求的序列化 json 格式的响应,如下所示
{"Data":"{\"orderId\":null,\"Tokens\":{\"Key\":\"abcdefgh123456\",\"Txnid\":\"test_5950\"}","success":true,"Test":"success"}
我想在 Jmeter 中提取键值,我必须在下一个请求中使用。有人可以帮我提取价值吗?
您的 JSON 似乎不正确。有效的 JSON 应该是这样的:
{
"Data":{
"orderId":null,
"Tokens":{
"Key":"abcdefgh123456",
"Txnid":"test_5950"
},
"success":true,
"Test":"success"
}
}
- 向要从中提取键值的请求添加 JSON Extractor。
- 分配一个变量名,即
key
- JSON 路径表达式将是:
.Data.Tokens.Key
- 将提取的值作为
${key}
用于下一个请求。
如果您的 JSON 真的和您发布的完全一样,最合适的 Post-处理器将是 Regular Expression Extractor
相关的正则表达式类似于:
"Key"?\s*:?\s*"(\w+)"
其中:
- ``?\s*` - 任意数量的空格(以防万一)
\w
- 匹配“单词”字符(字母数字加下划线)
+
- 重复
()
- 分组
更多信息:
我收到了针对 api 请求的序列化 json 格式的响应,如下所示
{"Data":"{\"orderId\":null,\"Tokens\":{\"Key\":\"abcdefgh123456\",\"Txnid\":\"test_5950\"}","success":true,"Test":"success"}
我想在 Jmeter 中提取键值,我必须在下一个请求中使用。有人可以帮我提取价值吗?
您的 JSON 似乎不正确。有效的 JSON 应该是这样的:
{
"Data":{
"orderId":null,
"Tokens":{
"Key":"abcdefgh123456",
"Txnid":"test_5950"
},
"success":true,
"Test":"success"
}
}
- 向要从中提取键值的请求添加 JSON Extractor。
- 分配一个变量名,即
key
- JSON 路径表达式将是:
.Data.Tokens.Key
- 将提取的值作为
${key}
用于下一个请求。
如果您的 JSON 真的和您发布的完全一样,最合适的 Post-处理器将是 Regular Expression Extractor
相关的正则表达式类似于:
"Key"?\s*:?\s*"(\w+)"
其中:
- ``?\s*` - 任意数量的空格(以防万一)
\w
- 匹配“单词”字符(字母数字加下划线)+
- 重复()
- 分组
更多信息: