gpt4 book ai didi

Grails 使用 gstring 访问嵌套字段

转载 作者:行者123 更新时间:2023-12-02 06:33:42 26 4
gpt4 key购买 nike

我尝试使用 gstring 访问嵌套字段,但它抛出异常 groovy.lang.MissingPropertyException

我有两个类

Class Person{
Address address
}
Class Address{
String city
}

我正在做的代码中的某个地方,

def person = Person.get(1)
def field = "address.city"
def city = person."${field}"

我尝试从 person 获取城市的行抛出 groovy.lang.MissingPropertyException

如果我尝试使用 gstring 获取直接属性,它可以工作,但上面给出的代码不起作用。

有什么帮助吗?

最佳答案

您在这里所做的是尝试通过名称 address.city 访问属性,该属性等于 person."address.city",这意味着这里的点被视为属性名称的一部分 - 而不是您期望的访问分隔符。以下代码应解析您的属性:

def city = field.tokenize('.').inject(person) {v, k -> v."$k"}

关于Grails 使用 gstring 访问嵌套字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7784276/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com