根据回复,我使用JSON提取器提取了以下值,并将名称命名为 data 。但在提取的值中,我无法找到变量名和值的双引号。
{
: TaxcomputationId=929e1214-cc1a-e711-80c3-000d3ae017ab,
: EmployeeId=6524734a-c81a-e711-80c3-000d3ae017ab,
: PlanId=609e1214-cc1a-e711-80c3-000d3ae017ab,
: AmendmentIndicator=O,
: RPEmpId=103622,
: Surname=Galvin,
: FirstName=Benjaminn,
: TFN=433260373,
: TerminationDate=16/09/2026,
: HomeCountry=null,
: HostCountry=null,
: StartDateOverseasEmployment=null,
: EndDateOverseasEmployment=null,
: Assignments=
: [
: : "06\/12\/2006",
: : "07\/10\/2010",
: : "United States",
: : "Australia"
: ],
: InboundAssigneeIsNotTemporaryResident=No,
: TaxResidencyDuringAssignment=n/a,
: DateOfExpiry=24/01/2025,
: TaxResidencyAtTP=Non-resident,
: ApportionedBasedOnTaxLogic=Yes,
: ActualPlanId=1411386-1350,
: DOG=/Date(1423094400000)/,
: DOV=/Date(1444867200000)/,
: DateOfGrant=05/02/2015,
: DateOfVest=15/10/2015,
: DateOfExercise=22/01/2023,
: DateOfSale=31/05/2021,
: TaxLogic=Deferred Shares/Performance Rights,
: TaxingPoint=Vest,
: TaxingDate=15/10/2015,
: NoOfESSInterests=52,
: FMVAtTPAUD=24.04,
: ExercisePriceAUD=0.00,
: NoOfSharesWithheldForHypo=1960,
: ApportionGrossIncome=Yes,
: Comments=,
: IncomeNetHypoAUD=-45861.80,
: AustralianSourcedIncome=0.00,
: ForeignSourcedIncome=-45861.80,
: ReportableAmount=0.00,
: PercentageOfESSIncomeTaxableInAU=0.00,
: IsCalculated=true,
: IsLocked=false,
: SubmissionStatus=Draft,
: IsError=1,
: ErrorCells=
: [
: : 30,
: : 32
: ]
}
从上面的JSON提取器响应中,我需要单独修改TFN值,并需要将此数据作为参数传递给下一个请求。我尝试过使用beanshell编码它不起作用。任何人都可以知道如何改变这些价值。
答案 0 :(得分:1)
我建议放弃您的JSON路径提取器并完全切换到JSR223 PostProcessor和Groovy语言。相关的Groovy代码将:
result
对象foo
data
JMeter变量看起来像:
def json = new groovy.json.JsonSlurper().parse(prev.getResponseData())
def data = json.result.get(0)
data.each {entry ->
def name = entry.getKey()
if (name.equals("TFN")) {
entry.setValue("foo")
}
}
vars.put("data",new groovy.json.JsonBuilder(data).toPrettyString())
参考文献:
答案 1 :(得分:0)
在jp @ gc中,JSON路径提取器使用$ TFN作为JSONPATH表达式并将其存储在变量中,然后您可以将该变量作为参数传递给下一个请求