繁体   English   中英

Groovy脚本json响应长度

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM