gpt4 book ai didi

arrays - Groovy 和 json : How to get the length of an array from json?

转载 作者:行者123 更新时间:2023-12-02 06:54:44 25 4
gpt4 key购买 nike

我正在使用 curl 获取一些数据,然后使用 JsonSlurper 解析它。
数据结构是

"results" : [ 
{
"uri" : "http://localhost:8081/artifactory/api/storage/...",
"created" : "2015-11-27"
},
{
"uri" : "http://localhost:8081/artifactory/api/storage/...",
"created" : "2015-11-27"
},
{
"uri" : "http://localhost:8081/artifactory/api/storage/...",
"created" : "2015-11-30"
}
]

所以如果我没记错的话,整个东西都被认为是一个对象。但是对象(结果)中有一个数组,其中包含该数组中的对象。

我需要获取结果数组的长度。当我尝试执行 json.result.length 时,我收到一个空值。

如何获得 results 数组的长度?
def list = ['curl', '-u', 'user:pass',     "http://localhost:8081/..."].execute()
def json = new JsonSlurper().parseText(list.text)
println json.result.size()

最佳答案

我看到的是,您使用不正确的属性来获取大小。需要使用 results 而不是 result 。这就是您看到该错误的原因,因为 result 为 null(因为没有这样的属性)

这是工作脚本,输出为 3:

import net.sf.json.groovy.JsonSlurper
def jsonText='''{
"results" : [
{
"uri" : "http://localhost:8081/artifactory/api/storage/...",
"created" : "2015-11-27"
},
{
"uri" : "http://localhost:8081/artifactory/api/storage/...",
"created" : "2015-11-27"
},
{
"uri" : "http://localhost:8081/artifactory/api/storage/...",
"created" : "2015-11-30"
}
]
}'''
def json = new JsonSlurper().parseText(jsonText)
println json.results.size()
assert 3 == json.results.size(), "Array size is not matching"

关于arrays - Groovy 和 json : How to get the length of an array from json?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34008866/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com