json - Grails 枚举到 JSON

标签 json grails marshalling enumeration

我想更改枚举编码为 JSON 的方式。我目前使用默认的 grails.converters.JSON (作为 JSON),例如在我使用的 Controller 中:

FilmKind.values() as JSON

其输出是:

"kind":[{"enumType":"FilmKind","name":"DRAMA"},{"enumType":"FilmKind","name":"ACTION"}]

我想删除“enumType”并返回:

"kind":["DRAMA","ACTION"]

我正在寻找一个仍然允许我使用的解决方案

as JSON

因为我不想单独编码每个枚举。

最佳答案

如果有人想知道如何以通用方式将所有枚举值转换为纯字符串值:

class EnumTypeHidingJSONMarshaller {
    void register() {
        JSON.registerObjectMarshaller(Enum) { Enum someEnum ->
            someEnum.toString()
        }
    }
}

关于json - Grails 枚举到 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15030758/

相关文章:

javascript - JSON 中的对象数组的行为与本地创建的对象数组不同

python - 使用 json 模块解码类似 JSON 的对象

json - 如何在 Swagger UI 中禁用缓存

sql - 处理填充 GSP 页面的许多查询所需的 Grails 策略

java - 哪个 JAXB 实现实现了 Marshaller.getNode()?

javascript - 在 Angular 5 中基于 JSON 创建动态表

grails - Grails/SpringSecurity:登录和注销

grails - 在 Controller 中引用 hasMany 属性

c# - 将 C++ 结构编码(marshal)至 C# 类时出现 AccessViolationException

java - Spring JMS 模板发送无效消息