我有以下值
[
{
"id": ID1,
"XXX": "XXXX",
"XXX": "XXX XXX",
"xxx": {
"XXXX": "XXXX",
"XXXXX": "XXXX"
},
"XXXX": "XXXX@XXXX.com",
"XXXXX": "XXXX",
"XXXX": XXX,
"Section1": [
{
"id": ID_Section1,
"xXXX": "XXXX",
"teams": {
"XXXX: XXX,
"XXX": "XXX XXX XXX"
},
"Section2": {
"id": ID_Section2,
"XXXX": "XXX XX",
"XXX": "XXX",
"XXX": "XX-XX"
},
"XXX": XXX
}
{
"id": ID2,
"XXX": "XXXX",
"XXX": "XXX XXX",
"xxx": {
我需要得到像ID1,ID2等的值,但在使用下面的正则表达式时,我得到了其他ID的所有值,以及ID_Section1,ID_Section2,我不需要。
表达:
"id":(.?),
模板:$ 1 $
我还尝试使用下面的命令使用JSON路径提取器提取值,但仍然是获取所有值。
$..id
感谢任何帮助?
答案 0 :(得分:3)
只需不要使用正则表达式来解析JSON 。
JMeter附带JSON Extractor,它允许执行JSONPath语言查询以从JSON实体获取数据,因此您可以使用简单查询获取您感兴趣的“ID”,如:$[0].id
演示:
参考文献:
答案 1 :(得分:0)
这个怎么样:(?:"|')id(?:"|')\s*:\s*(?<id>ID\d+)
它捕获指定捕获组 id 中的ID1,ID2等。
您可以在以下网址尝试此解决方案:https://regex101.com/
答案 2 :(得分:0)
您可以将它用于正则表达式:
{\n"id":(.*?),
它将获得ID1,ID2 ....并将它们存储在不同的变量中。