在 Grails 中使用带有 rest 配置文件的 gson 时,字符串列表抛出 ClassCastException
List of String throws ClassCastException when using gson with rest profile in Grails
当我尝试使用 GSON 和 Grails Rest 配置文件应用呈现字符串列表时,我得到
java.lang.ClassCastException: _info_app_name__schemaImporter_index_gson$_run_closure1 cannot be cast to grails.plugin.json.builder.StreamingJsonBuilder$StreamingJsonDelegate
我的控制器class如下
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
}
}
我在声明模型变量时也尝试了不同的变体,例如,
列出字符串列表,
数组列表
但是我每次这样做都会返回同样的错误。知道为什么吗?请注意,当我渲染其他域 classes 时,它工作正常。
我找到了罪魁祸首。我在遍历列表时使用了 each 。我删除了它并使我的 GSON 视图如下所示,它开始正常工作。
model{
List<String> stringList
}
json{
informationList stringList, { String str ->
singleEntry str
}
}
当我尝试使用 GSON 和 Grails Rest 配置文件应用呈现字符串列表时,我得到
java.lang.ClassCastException: _info_app_name__schemaImporter_index_gson$_run_closure1 cannot be cast to grails.plugin.json.builder.StreamingJsonBuilder$StreamingJsonDelegate
我的控制器class如下
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
}
}
我在声明模型变量时也尝试了不同的变体,例如, 列出字符串列表, 数组列表
但是我每次这样做都会返回同样的错误。知道为什么吗?请注意,当我渲染其他域 classes 时,它工作正常。
我找到了罪魁祸首。我在遍历列表时使用了 each 。我删除了它并使我的 GSON 视图如下所示,它开始正常工作。
model{
List<String> stringList
}
json{
informationList stringList, { String str ->
singleEntry str
}
}