Я использую Grails 2.1 для рендеринга JSON как части созданного мной RestFul API. Класс Domain, основанный на таблице SqlServer, выглядит следующим образом:
String firstName
Строка lastName
String officialAddress1
Строка officalAddress2
Строка предпочитаемый адрес1
Строка предпочитаемый адрес2
(так далее.). , ,
Что возвращает JSON, похожее на это:
{
"firstName": "Джо",
"lastName": "Hill",
"officialAddress1": "1100 Wob Hill",
"officialAddress2": "Apt. # 3",
"предпочитаемый адрес1": "1100 Wobbly Lane.",
"предпочитаемый адрес2": "Квартира 3."
}
Работает нормально, но клиент хочет, чтобы я вложил результаты таким образом:
{
"firstName": "Джо",
"lastName": "Hill",
предпочитаемый адрес {
"предпочитаемый адрес1": "1100 Wobbly Lane.",
"предпочитаемый адрес1": "Квартира 3."
}
официальный адрес {
"officialAddress1": "1100 Wob Hill",
"officialAddress2": "Apt. # 3"
}
}
Мой вопрос заключается в том, что, поскольку класс домена и база данных не являются структурой для возврата вложенного результата этого типа, как я могу легко изменить это в моем возвращенном JSON? Должен ли я отказаться от своего способа простой регургитации JSON, основанного на объекте базы данных / домена, и создать какой-то пользовательский конвертер?