[英]Groovy script json response length
我需要找到json响应长度。 样本响应如下所示:
{
"resource": {
"name":"aaaaaaaaaaa",
"emailid":"bbbbbbbbb"
}
}
由于资源中存在两个参数。 因此,我应该得到2的响应。请让我知道,我可以找到json的长度为2
这是有效的解决方案,请尝试此
import groovy.json.JsonSlurper // import this class
def jsonText = '''{
"resource": {
"name":"aaaaaaaaaaa",
"emailid":"bbbbbbbbb"
}
}'''
def json = new JsonSlurper().parseText(jsonText)
println "Json length---------->"+json.resource.size()
如果您具有JSON对象,则无需将JSON字符串解析为json,您可以直接执行以下操作:
println jsonObject.resource.size() // Here resource is the key(sub node) inside your json
如果要获取父JSON密钥的长度,请执行以下操作,
println jsonObject.size()
根据您的问题,您似乎想知道JSON对象中的属性计数。 因此,我们可以按照以下步骤操作:
步骤1:将响应字符串解析为JSON对象
步骤2:将JSON对象转换为Groovy Map对象
步骤3:在Map对象上调用size()方法以获取map对象内的元素计数
所以你的代码会这样:
import groovy.json.JsonSlurper
def jsonSlurper = new JsonSlurper()
def response = jsonSlurper.parseText('{ "resource": {"name":"aaaaaaaaaaa","emailid":"bbbbbbbbb"}}')
def object = (Map)response.resource
log.info object.size()
因此您的输出将为2。您可以尝试向JSON对象添加更多元素,以检查其是否有效。
希望这可以帮助 :)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.