Groovy 如何从数组中删除空元素
我试图从数组中删除空元素,即双引号,但我不确定如何遍历json数组。下面是我的jsonGroovy 如何从数组中删除空元素,groovy,Groovy,我试图从数组中删除空元素,即双引号,但我不确定如何遍历json数组。下面是我的json { "body": { "newId":"value1" }, "header": { "appId": "someVal", "pricingSchedule": [ "price1", "price2", "price3", "", "", "" ] }, "trail": {
{
"body": {
"newId":"value1"
},
"header": {
"appId": "someVal",
"pricingSchedule": [
"price1",
"price2",
"price3",
"",
"",
""
]
},
"trail": {
"pageSize": "50"
}
}
我想做的是在标题中
我想迭代pricingSchedule
数组并删除空元素,如果数组中没有元素,我只想保留空数组,而不是删除它
下面是我的代码-
def request = new groovy.json.JsonSlurper().parseText(sampler.getArguments().getArgument(0).getValue())
def newRequest = evaluate(request.inspect())
request.body.each { entry ->
if (entry.getValue().equals('') || entry.getValue().equals([''])) {
newRequest.body.remove(entry.getKey())
}
}
request.header.each{ entry ->
// String key=entry.getKey().equals("pricingSchedule")
entry.getKey().equals("pricingSchedule").each{ entry1 ->
log.info(entry1) //This does not print anything and gives me error
}
}
def arguments = new org.apache.jmeter.config.Arguments()
sampler.setArguments(arguments)
sampler.addNonEncodedArgument('', new groovy.json.JsonBuilder(newRequest).toPrettyString(), '')
sampler.setPostBodyRaw(true)
要从
pricingSchedule
中删除空元素,只需执行以下操作:
request.header.pricingSchedule = request.header.pricingSchedule.findAll()
这将删除任何空元素或空字符串要从
pricingSchedule
中删除空元素,只需执行以下操作:
request.header.pricingSchedule = request.header.pricingSchedule.findAll()
这将删除任何空元素,或空字符串这一行代码对我来说非常好这一行代码对我来说非常好