首页 > 解决方案 > 无法获取称为属性“属性”的键值:“值”Groovy

问题描述

我正在向在正文中返回 JSON 对象的服务发出 API 请求。

我似乎无法在 groovy 中获得一个名为“properties”的键的值。

每次我打电话obj.properties我都会得到以下回复

{
  "class": "org.json.JSONObject"
}

但是如果我只调用obj我会得到预期的 JSON 对象

{
  "dummy1": ,
  "dummy2": false,
  "dummy3": etsad,
  "dummy4": asdfw,
  "dummy5": qweqwe,
  "dummy6": 123123,
  "properties": {
    "country": UK,
   }
}

同样,如果我obj.dummy2得到false它,只有当我obj.properties得到上述响应时

标签: jsongroovyproperties

解决方案


注意 groovy 对 Object's 有一个特殊的处理properties,例如数字:

def y = 25
print y.properties

它会打印[class:class java.lang.Integer]

所以它是基本 groovy 对象的一部分

另请参阅有关从 groovy 对象获取非合成属性的答案

作为@daggett 评论,您可以使用

  obj.get('properties')

推荐阅读