在Grails中使用带有rest配置文件的gson时,String列表抛出ClassCastException
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Grails中使用带有rest配置文件的gson时,String列表抛出ClassCastException相关的知识,希望对你有一定的参考价值。
当我尝试使用GSON和Grails Rest配置文件应用程序渲染字符串列表时,我得到了
java.lang.ClassCastException: _info_app_name__schemaImporter_index_gson$_run_closure1 cannot be cast to grails.plugin.json.builder.StreamingJsonBuilder$StreamingJsonDelegate
我的Controller类如下
class SchemaImporterController {
static responseFormats = ['json']
def index() {
def data = [:]
data.stringList = [
'One',
'Two',
'Three',
'Four
] as ArrayList<String>
return data
}
}
我的GSON索引视图如下
model{
List<String> stringList
}
json{
informationList stringList.each { String str ->
singleEntry str
}
}
在声明模型变量时,我也尝试了不同的变体,如List stringList,ArrayList
但每当我这样做时它返回同样的错误。知道为什么吗?这里要注意的是,当我渲染其他域类时,它的工作正常。
答案
我找到了罪魁祸首。迭代列表时我正在使用每个。我删除了它,并使我的GSON视图如下,它开始工作正常。
model{
List<String> stringList
}
json{
informationList stringList, { String str ->
singleEntry str
}
}
以上是关于在Grails中使用带有rest配置文件的gson时,String列表抛出ClassCastException的主要内容,如果未能解决你的问题,请参考以下文章
如何处理 grails spring-security-rest 插件中的自定义身份验证异常?
使用 Grails 3 和 Spring Security REST 配置 CORS
在 grails 应用程序中调用 spring security rest 插件登录时出现 401 未经授权的错误
带有 Spring Security 核心和 CORS 插件的 grails REST API 不适用于 OPTIONS http 方法请求
Grails - grails-spring-security-rest - 无法从 application.yml 加载 jwt 机密