我正在向服务发出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
时,我才能得到上述回复
答案 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