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 地图对象

第 3 步:在 Map 对象上调用 size() 方法以获取地图对象中的元素计数

所以您的代码会像这样:

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 对象添加更多元素,检查它是否有效。

希望对您有所帮助:)