Groovy:基于对象从 JSON 中检索值

多少

所以我有一个看起来像这样的 JSON

{
   "_embedded" : {
      "userTaskDtoList" : [
         {
            "userTaskId" : 8,
            "userTaskDefinitionId" : "JJG",
            "userRoleId" : 8,
            "workflowId" : 9,
            "criticality" : "MEDIUM",
            **"dueDate"** : "2021-09-29T09:04:37Z",
            "dueDateFormatted" : "Tomorrow 09:04",
            "acknowledge" : false,
            "key" : 8,
         },
         {
            "userTaskId" : 10,
            "userTaskDefinitionId" : "JJP",
            "userRoleId" : 8,
            "workflowId" : 11,
            "criticality" : "MEDIUM",
            **"dueDate"** : "2021-09-29T09:06:44Z",
            "dueDateFormatted" : "Tomorrow 09:06",
            "acknowledge" : false,
            "key" : 10,
         },
         {
            "userTaskId" : 12,
            "userTaskDefinitionId" : "JJD",
            "userRoleId" : 8,
            "workflowId" : 13,
            "criticality" : "MEDIUM",
            **"dueDate"** : "2021-09-29T09:59:07Z",
            "dueDateFormatted" : "Tomorrow 09:59",
            "acknowledge" : false,
            "key" : 12,
         }
      ]
   }
}

这是来自 REST 请求的响应。我需要的是仅从特定对象中提取关键“dueDate”的数据并对其进行一些验证。我正在尝试使用 Groovy 来解决这个问题。

我唯一能做的就是:

import groovy.json.*

def response = context.expand( '${user tasks#Response}' )
def data = new JsonSlurper().parseText(response)

idValue = data._embedded.userTaskDtoList.dueDate

它从响应中的“dueDate”键返回所有 3 个值。我在想,也许我可以根据另一个键与某个对象进行交互,例如,假设我只从“dueDate”键中检索值,这是带有“userTaskId”的对象的一部分:12。我该怎么做这个?

任何帮助将不胜感激。

蒂姆_耶茨

您可以find感兴趣的记录,然后dueDate从中获取

data._embedded.userTaskDtoList.find { it.userTaskId == 12 }.dueDate

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章