首页 > 解决方案 > 如何在 groovy 中获取 end_time 及其值

问题描述

如何在 groovy 中获取 end_time 及其值,我正在尝试但没有得到输出。我想使用 end_time 的键和值。

   "values": [
                    {
                        "value": {},
                        "end_time": "2021-03-15T07:00:00+0000"
                    }
                ]

标签: jsongroovy

解决方案


我认为对您问题的评论在一定程度上反映了对表述不佳的问题的普遍厌倦。许多在这里回答问题的成员花费大量时间精心研究并在适当的背景下制作完整的答案,并期望提出问题的人付出相同或更大的努力。

我建议您先阅读本文,然后在此处提问:

https://stackoverflow.com/help/how-to-ask

以正确的方式提出问题会让你更快地得到更好的答案,这表明了对人们在制作答案上投入的时间的尊重。

话虽如此,下面的代码:

import groovy.json.*

def data = '''\
{
"values": [
            {
              "value": {},
              "end_time": "2021-03-15T07:00:00+0000"
            }
          ]
}'''


def json = new JsonSlurper().parseText(data)
def endTimes = json.values.collect { it.end_time }

def firstEndTime = endTimes.first()

println "${endTimes} ${endTimes.getClass()}"
println "${firstEndTime} ${firstEndTime.getClass()}"

首先提取所有end_time值,然后提取其中的第一个。执行时,将打印:

─➤ groovy solution.groovy                                                                                          1 ↵
[2021-03-15T07:00:00+0000] class java.util.ArrayList
2021-03-15T07:00:00+0000 class java.lang.String

推荐阅读