首页 > 解决方案 > 用于嵌套 json 的 jmeter json 提取器响应

问题描述

我有点遇到这个问题,我一直在解析错误

“2021-05-28 15:41:20,282 错误 oajejjJSONPostProcessor:处理 JSON 提取器 txn0 中的 JSON 内容时出错,消息:无法解析从位置 8 开始的令牌。预期?,',0-9,*”

这是我正在使用的 json:


{
   "ApprovalResponse":{
      "Attributes":{
         "Fields":[
            {
               "ID":4,
               "Label":"Record ID"
            },
            {
               "ID":5,
               "Label":"Employee Number"
            },
            {
               "ID":6,
               "Label":"Name"
            },
            {
               "ID":7,
               "Label":"Leave Code"
            },
            {
               "ID":8,
               "Label":"Leave Date",
               "DataType":"DATE"
            },
            {
               "ID":9,
               "Label":"Leave Amount"
            },
            {
               "ID":11,
               "Label":"Escalated to you By"
            },
            {
               "ID":12,
               "Label":"Created Date",
               "DataType":"DATE"
            },
            {
               "ID":13,
               "Label":"To Be Actioned By",
               "DataType":"DATE"
            }
         ]
      },
      "Data":[
         {
            "transactionID":15685,
            "TransnType":"WHOLE DAY REQUEST BOOKING",
            "viewDetailsToApprove":null,
            "warningsExist":null,
            "warnings":null,
            "approverComments":null,
            "approvalLevel":1,
            "createdDate":"2021-05-28",
            "escalationStartDate":"2021-05-28",
            "escalationEndDate":"2021-05-29",
            "escalatedBy":null,
            "escalateRecommendation":null,
            "ApprovalOptions":[
               "A",
               "R",
               "RA",
               "RR",
               "E"
            ],
            "Values":[
               15685,
               "KLA001",
               "Sandy Kurt",
               "Sick Leave",
               null,
               null,
               null,
               null,
               null
            ]
         },
         {
            "transactionID":7410,
            "TransnType":"WHOLE DAY REQUEST BOOKING",
            "viewDetailsToApprove":null,
            "warningsExist":"Y",
            "warnings":"This Booking is consecutive with another ending 08-APR-2021 in WSS, as well as a",
            "approverComments":null,
            "approvalLevel":1,
            "createdDate":"2021-04-28",
            "escalationStartDate":"2021-04-28",
            "escalationEndDate":"2021-04-29",
            "escalatedBy":null,
            "escalateRecommendation":null,
            "ApprovalOptions":[
               "A",
               "R"
            ],
            "Values":[
               7410,
               "KLAU006",
               "Alan Ben Samuel",
               "Kenix Annual Leave",
               null,
               null,
               null,
               null,
               null
            ]
         },
         {
            "transactionID":7882,
            "TransnType":"WHOLE DAY REQUEST BOOKING",
            "viewDetailsToApprove":null,
            "warningsExist":"Y",
            "warnings":"This Booking is consecutive with another ending 15-APR-2021 in WSS, as well as a",
            "approverComments":"RA",
            "approvalLevel":1,
            "createdDate":"2021-05-03",
            "escalationStartDate":"2021-05-03",
            "escalationEndDate":"2021-05-03",
            "escalatedBy":"KLAU002",
            "escalateRecommendation":null,
            "ApprovalOptions":[
               "A",
               "R"
            ],
            "Values":[
               7882,
               "KLAU006",
               "Alan Ben Samuel",
               "Kenix Annual Leave",
               null,
               null,
               null,
               null,
               null
            ]
         },
         {
            "transactionID":7872,
            "TransnType":"WHOLE DAY REQUEST BOOKING",
            "viewDetailsToApprove":null,
            "warningsExist":"Y",
            "warnings":"This Booking is consecutive with another ending 08-APR-2021 in WSS, as well as a",
            "approverComments":"E-API",
            "approvalLevel":1,
            "createdDate":"2021-05-03",
            "escalationStartDate":"2021-05-03",
            "escalationEndDate":"2021-05-03",
            "escalatedBy":"KLAU002",
            "escalateRecommendation":null,
            "ApprovalOptions":[
               "A",
               "R"
            ],
            "Values":[
               7872,
               "KLAU006",
               "Alan Ben Samuel",
               "Kenix Annual Leave",
               null,
               null,
               null,
               null,
               null
            ]
         },
         {
            "transactionID":7640,
            "TransnType":"WHOLE DAY REQUEST BOOKING",
            "viewDetailsToApprove":null,
            "warningsExist":null,
            "warnings":null,
            "approverComments":null,
            "approvalLevel":1,
            "createdDate":"2021-04-30",
            "escalationStartDate":"2021-04-30",
            "escalationEndDate":"2021-05-01",
            "escalatedBy":null,
            "escalateRecommendation":null,
            "ApprovalOptions":[
               "A",
               "R"
            ],
            "Values":[
               7640,
               "KLAU007",
               "Maryanne Forest",
               "KL Annual Leave",
               null,
               null,
               null,
               null,
               null
            ]
         },
         {
            "transactionID":15677,
            "TransnType":"WHOLE DAY REQUEST BOOKING",
            "viewDetailsToApprove":null,
            "warningsExist":null,
            "warnings":null,
            "approverComments":null,
            "approvalLevel":1,
            "createdDate":"2021-05-28",
            "escalationStartDate":"2021-05-28",
            "escalationEndDate":"2021-05-29",
            "escalatedBy":null,
            "escalateRecommendation":null,
            "ApprovalOptions":[
               "A",
               "R",
               "RA",
               "RR",
               "E"
            ],
            "Values":[
               15677,
               "KLA001",
               "Sandy Kurt",
               "Annual Leave",
               null,
               null,
               null,
               null,
               null
            ]
         },
         {
            "transactionID":15683,
            "TransnType":"WHOLE DAY REQUEST BOOKING",
            "viewDetailsToApprove":null,
            "warningsExist":null,
            "warnings":null,
            "approverComments":null,
            "approvalLevel":1,
            "createdDate":"2021-05-28",
            "escalationStartDate":"2021-05-28",
            "escalationEndDate":"2021-05-29",
            "escalatedBy":null,
            "escalateRecommendation":null,
            "ApprovalOptions":[
               "A",
               "R",
               "RA",
               "RR",
               "E"
            ],
            "Values":[
               15683,
               "KLA001",
               "Sandy Kurt",
               "Sick Leave",
               null,
               null,
               null,
               null,
               null
            ]
         },
         {
            "transactionID":15681,
            "TransnType":"WHOLE DAY REQUEST BOOKING",
            "viewDetailsToApprove":null,
            "warningsExist":null,
            "warnings":null,
            "approverComments":null,
            "approvalLevel":1,
            "createdDate":"2021-05-28",
            "escalationStartDate":"2021-05-28",
            "escalationEndDate":"2021-05-29",
            "escalatedBy":null,
            "escalateRecommendation":null,
            "ApprovalOptions":[
               "A",
               "R",
               "RA",
               "RR",
               "E"
            ],
            "Values":[
               15681,
               "KLA001",
               "Sandy Kurt",
               "Annual Leave",
               null,
               null,
               null,
               null,
               null
            ]
         },
         {
            "transactionID":15679,
            "TransnType":"WHOLE DAY REQUEST BOOKING",
            "viewDetailsToApprove":null,
            "warningsExist":null,
            "warnings":null,
            "approverComments":null,
            "approvalLevel":1,
            "createdDate":"2021-05-28",
            "escalationStartDate":"2021-05-28",
            "escalationEndDate":"2021-05-29",
            "escalatedBy":null,
            "escalateRecommendation":null,
            "ApprovalOptions":[
               "A",
               "R",
               "RA",
               "RR",
               "E"
            ],
            "Values":[
               15679,
               "KLA001",
               "Sandy Kurt",
               "Annual Leave",
               null,
               null,
               null,
               null,
               null
            ]
         },
         {
            "transactionID":15679,
            "TransnType":"WK8133",
            "viewDetailsToApprove":null,
            "warningsExist":null,
            "warnings":null,
            "approverComments":null,
            "approvalLevel":1,
            "createdDate":"2021-05-28",
            "escalationStartDate":"2021-05-28",
            "escalationEndDate":"2021-05-29",
            "escalatedBy":null,
            "escalateRecommendation":null,
            "ApprovalOptions":[
               "A",
               "R",
               "RA",
               "RR",
               "E"
            ],
            "Values":null
         },
         {
            "transactionID":15693,
            "TransnType":"PART DAY LEAVE REQUEST",
            "viewDetailsToApprove":null,
            "warningsExist":null,
            "warnings":null,
            "approverComments":null,
            "approvalLevel":1,
            "createdDate":"2021-05-28",
            "escalationStartDate":"2021-05-28",
            "escalationEndDate":"2021-05-29",
            "escalatedBy":null,
            "escalateRecommendation":null,
            "ApprovalOptions":[
               "A",
               "R",
               "RA",
               "RR",
               "E"
            ],
            "Values":[
               15693,
               "KLA001",
               "Sandy Kurt",
               "Annual Leave",
               null,
               "4 Hours",
               null,
               null,
               null
            ]
         },
         {
            "transactionID":15691,
            "TransnType":"PART DAY LEAVE REQUEST",
            "viewDetailsToApprove":null,
            "warningsExist":null,
            "warnings":null,
            "approverComments":null,
            "approvalLevel":1,
            "createdDate":"2021-05-28",
            "escalationStartDate":"2021-05-28",
            "escalationEndDate":"2021-05-29",
            "escalatedBy":null,
            "escalateRecommendation":null,
            "ApprovalOptions":[
               "A",
               "R",
               "RA",
               "RR",
               "E"
            ],
            "Values":[
               15691,
               "KLA001",
               "Sandy Kurt",
               "Annual Leave",
               null,
               "4 Hours",
               null,
               null,
               null
            ]
         },
         {
            "transactionID":15697,
            "TransnType":"PART DAY LEAVE REQUEST",
            "viewDetailsToApprove":null,
            "warningsExist":"Y",
            "warnings":"Warning - Amount requested exceeds rostered hours.",
            "approverComments":null,
            "approvalLevel":1,
            "createdDate":"2021-05-28",
            "escalationStartDate":"2021-05-28",
            "escalationEndDate":"2021-05-29",
            "escalatedBy":null,
            "escalateRecommendation":null,
            "ApprovalOptions":[
               "A",
               "R",
               "RA",
               "RR",
               "E"
            ],
            "Values":[
               15697,
               "KLA001",
               "Sandy Kurt",
               "Annual Leave",
               null,
               "8 Hours",
               null,
               null,
               null
            ]
         },
         {
            "transactionID":10898,
            "TransnType":"PART DAY LEAVE REQUEST",
            "viewDetailsToApprove":null,
            "warningsExist":null,
            "warnings":null,
            "approverComments":null,
            "approvalLevel":1,
            "createdDate":"2021-05-11",
            "escalationStartDate":"2021-05-11",
            "escalationEndDate":"2021-05-12",
            "escalatedBy":null,
            "escalateRecommendation":null,
            "ApprovalOptions":[
               "A",
               "R"
            ],
            "Values":[
               10898,
               "KLAU003",
               "Adele Maria Leigh",
               "KL Annual Leave",
               null,
               "7.6 Hours",
               null,
               null,
               null
            ]
         },
         {
            "transactionID":10896,
            "TransnType":"PART DAY LEAVE REQUEST",
            "viewDetailsToApprove":null,
            "warningsExist":null,
            "warnings":null,
            "approverComments":null,
            "approvalLevel":1,
            "createdDate":"2021-05-11",
            "escalationStartDate":"2021-05-11",
            "escalationEndDate":"2021-05-12",
            "escalatedBy":null,
            "escalateRecommendation":null,
            "ApprovalOptions":[
               "A",
               "R"
            ],
            "Values":[
               10896,
               "KLAU003",
               "Adele Maria Leigh",
               "KL Annual Leave",
               null,
               "7.6 Hours",
               null,
               null,
               null
            ]
         },
         {
            "transactionID":15689,
            "TransnType":"PART DAY LEAVE REQUEST",
            "viewDetailsToApprove":null,
            "warningsExist":"Y",
            "warnings":"Warning - Amount requested exceeds rostered hours.",
            "approverComments":null,
            "approvalLevel":1,
            "createdDate":"2021-05-28",
            "escalationStartDate":"2021-05-28",
            "escalationEndDate":"2021-05-29",
            "escalatedBy":null,
            "escalateRecommendation":null,
            "ApprovalOptions":[
               "A",
               "R",
               "RA",
               "RR",
               "E"
            ],
            "Values":[
               15689,
               "KLA001",
               "Sandy Kurt",
               "Annual Leave",
               null,
               "8 Hours",
               null,
               null,
               null
            ]
         },
         {
            "transactionID":7408,
            "TransnType":"PART DAY LEAVE REQUEST",
            "viewDetailsToApprove":null,
            "warningsExist":null,
            "warnings":null,
            "approverComments":null,
            "approvalLevel":1,
            "createdDate":"2021-04-28",
            "escalationStartDate":"2021-04-28",
            "escalationEndDate":"2021-04-29",
            "escalatedBy":null,
            "escalateRecommendation":null,
            "ApprovalOptions":[
               "A",
               "R"
            ],
            "Values":[
               7408,
               "KLAU003",
               "Adele Maria Leigh",
               "KL Annual Leave",
               null,
               "7.6 Hours",
               null,
               null,
               null
            ]
         },
         {
            "transactionID":7406,
            "TransnType":"PART DAY LEAVE REQUEST",
            "viewDetailsToApprove":null,
            "warningsExist":null,
            "warnings":null,
            "approverComments":null,
            "approvalLevel":1,
            "createdDate":"2021-04-28",
            "escalationStartDate":"2021-04-28",
            "escalationEndDate":"2021-04-29",
            "escalatedBy":null,
            "escalateRecommendation":null,
            "ApprovalOptions":[
               "A",
               "R"
            ],
            "Values":[
               7406,
               "KLAU003",
               "Adele Maria Leigh",
               "KL Annual Leave",
               null,
               "7.6 Hours",
               null,
               null,
               null
            ]
         },
         {
            "transactionID":13383,
            "TransnType":"PART DAY LEAVE REQUEST",
            "viewDetailsToApprove":null,
            "warningsExist":null,
            "warnings":null,
            "approverComments":null,
            "approvalLevel":1,
            "createdDate":"2021-05-20",
            "escalationStartDate":"2021-05-20",
            "escalationEndDate":"2021-05-21",
            "escalatedBy":null,
            "escalateRecommendation":null,
            "ApprovalOptions":[
               "A",
               "R"
            ],
            "Values":[
               13383,
               "KLAU007",
               "Maryanne Forest",
               "KL Annual Leave",
               null,
               ".5 Hours",
               null,
               null,
               null
            ]
         },
         {
            "transactionID":13385,
            "TransnType":"PART DAY LEAVE REQUEST",
            "viewDetailsToApprove":null,
            "warningsExist":null,
            "warnings":null,
            "approverComments":null,
            "approvalLevel":1,
            "createdDate":"2021-05-20",
            "escalationStartDate":"2021-05-20",
            "escalationEndDate":"2021-05-21",
            "escalatedBy":null,
            "escalateRecommendation":null,
            "ApprovalOptions":[
               "A",
               "R"
            ],
            "Values":[
               13385,
               "KLAU011",
               "Tammy Caulin",
               "KL Annual Leave",
               null,
               "4 Hours",
               null,
               null,
               null
            ]
         },
         {
            "transactionID":7402,
            "TransnType":"PART DAY LEAVE REQUEST",
            "viewDetailsToApprove":null,
            "warningsExist":null,
            "warnings":null,
            "approverComments":null,
            "approvalLevel":1,
            "createdDate":"2021-04-28",
            "escalationStartDate":"2021-04-28",
            "escalationEndDate":"2021-04-29",
            "escalatedBy":null,
            "escalateRecommendation":null,
            "ApprovalOptions":[
               "A",
               "R"
            ],
            "Values":[
               7402,
               "KLAU003",
               "Adele Maria Leigh",
               "KL Annual Leave",
               null,
               "7.6 Hours",
               null,
               null,
               null
            ]
         },
         {
            "transactionID":15695,
            "TransnType":"PART DAY LEAVE REQUEST",
            "viewDetailsToApprove":null,
            "warningsExist":"Y",
            "warnings":"Warning - Amount requested exceeds rostered hours.",
            "approverComments":null,
            "approvalLevel":1,
            "createdDate":"2021-05-28",
            "escalationStartDate":"2021-05-28",
            "escalationEndDate":"2021-05-29",
            "escalatedBy":null,
            "escalateRecommendation":null,
            "ApprovalOptions":[
               "A",
               "R",
               "RA",
               "RR",
               "E"
            ],
            "Values":[
               15695,
               "KLA001",
               "Sandy Kurt",
               "Sick Leave",
               null,
               "15.2 Hours",
               null,
               null,
               null
            ]
         }
      ]
   }
}

我正在使用带有 transactionID * 的json 提取器来匹配 Values= KLA001 ,这个变量列表将输入到我对 txn_id0、txn_id1 等的其他 jmeter 请求中。但是我没有成功。

还是相反?

试过:

$.Data[?(@.Values == 'KLA001')]

$.Values[${KLA001}].transactionID[*]

没有成功。

$..Data[0].transactionID 能够获取 txnID,但它尚未与KLA001配对。

感谢帮助。

标签: jsonjmeter

解决方案


如果您的 JSON 结构没有改变,您可以尝试以下操作:

$.ApprovalResponse.Data.[?(@.Values[1] == 'KLA001')].transactionID

演示:

在此处输入图像描述

更多信息:


推荐阅读