无法获取称为属性“ properties”的键值:“ Value” Groovy

时间:2019-06-11 16:27:03

标签: json groovy properties

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

我似乎无法在Groovy中获得称为“属性”的键的值。

每次我打电话给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时,我才能得到上述回复

2 个答案:

答案 0 :(得分:1)

通知groovy对对象的properties具有特殊的处理方式,例如数字:

def y = 25
print y.properties

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

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

另请参阅answer,有关如何从常规对象中获取非合成属性

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

  obj.get('properties')

答案 1 :(得分:0)

this answer上查看有关如何访问对象属性的信息。

obj.properties不起作用的原因很可能是由于每个对象都会具有属性,在您的情况下struct ContentView : View { var body: some View { Form { Toggle(isOn: .constant(true)) { Text("Toggle") } Stepper(value:.constant(4), in:1...10) { Text("Stepper") } Text("Hello World") } } } 正在获取JSON对象的属性,而不是与键。

考虑使用obj.properties代替obj.properties