当前位置: 首页 > 知识库问答 >
问题:

无法获取名为属性的键值“属性”:“值”Groovy

凌景辉
2023-03-14

我向一个服务发出API请求,该服务在主体中返回一个JSON对象

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

每次我调用obj.properties我得到以下内容

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

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

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

同样,如果Iobj。dummy2我得到false这只是当我obj时。属性我是否得到上述响应

共有2个答案

丁鸿信
2023-03-14

在这里查看关于如何访问对象属性的答案。

obj.properties不起作用的原因很可能是因为每个对象都有属性,在您的情况下obj.properties是获取JSON对象的属性,而不是与钥匙。

而不是obj。属性< /代码>,考虑<代码> Obj[[属性] ] < /代码>

柳弘方
2023-03-14

请注意,groovy对对象的属性有一个特殊的处理,例如数字:

def y = 25
print y.properties

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

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

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

如@daggett注释所示,您可以使用

  obj.get('properties')

 类似资料:
  • 问题内容: 我想根据属性名称打印属性值,例如 我想做这样的事情 上面的代码给出了一个,我相信这是因为BeatifulSoup使用了name,所以它不能用作关键字参数。 问题答案: 这很简单,请使用以下代码- 如果不清楚,请发表评论。

  • 检索给定节点resp的所有属性名(而不是属性值!)的Xpath表达式看起来如何。xml标签? 假设以下XML文档: Xpath//title/@*会选择“eng,fr,easyreading”,但哪个Xpath会选择“lang,lang,type”?

  • 我有一节课: 值是唯一的,如何通过其值获取属性的名称? 通过反射,例如:

  • 在 PowerShell 中,如何通过指定对象的名称(字符串)来获取对象的属性值?我想要类似这样的东西: 是否有类似于“获取属性名称”的内容?

  • 我正在尝试使用JAXB读取一个xml。 我正面临一个奇怪的问题,其中父类的属性没有被读取,但子类的属性被读取。我参考了论坛,但这似乎是一个奇怪的论坛。 谁能告诉我我犯了什么错误。 XML。 电话目录类 电话号码类 主类 输出 如您所见,尽管提到了字段的XMLAt⃣注释,但exchange eName为null。 谢谢,毗湿奴

  • 问题内容: 如何获得元素属性值? 例如HTML元素: JS: 非常感谢任何建议,请在此处进行JSFIDDLE演示:http : //jsfiddle.net/h3TFy/ 问题答案: 由于要将目标元素发送到函数,因此可以执行以下操作以获取ID: