Search code examples
jsongrailsgrails3json-view

In JSON views, how do I flatten an object out as a single string?


In my grails 3 app (I'm using grails 3.2.4), I have an object type which I want to be serialized as a string, for any Domain object that uses it:

class MyDomain1 {
    CustomId id
}

class MyDomain2 {
    CustomId id
}

I want to create a view that serializes CustomId as a string, rather than an object:

//instance of MyDomain1, in JSON format:
{
    "id": "123"
}

How can I do this without customizing the view for every object that uses CustomId?


Solution

  • Json views 1.2 supports a converter API that can do what you want

    http://views.grails.org/latest/#_custom_converters