2015-12-07 4 views
1

У меня есть веб-сервис RESTful, который обеспечивает JSON, который я потребляю. Я использую Spring 3.2 и Spring MappingJacksonHttpMessageConverter. Моя JSON выглядит следующим образом:Spring/Jackson Mapping Inner JSON Objects

{ 
"Daives": { 
    "Daive": {}, 
    "Daive": {}, 
    "Daive": {}, 
    "Daive": {} 
} 

}

Теперь все, что я читал, кажется, указывает, что это JSON должен быть переработан в массив JSON Daives. Тем не менее, это действительно JSON, поэтому я хочу убедиться, что я правильно думаю, прежде чем возвращаться к поставщику услуг, чтобы просить об изменениях. В приведенном выше формате мне нужно было бы заранее знать, сколько Дайвов будет таким, чтобы мой DTO учитывал их. Удобный dandy Jackson mapper не будет работать с такой настройкой JSON. Если JSON был изменен для предоставления и массива JSON Daives, я мог бы использовать список для динамического отображения их с помощью Spring/Jackson. Правильно ли я? Спасибо :)

ответ

0

В соответствии с this thread, сама спецификация JSON не запрещает несколько полей с тем же именем (в вашем случае несколько полей с именем «Дайв» в объекте «Дайвс»).

Однако большинство парсеров либо вернет ошибку, либо проигнорирует любое значение, но последнее. Как вы сказали, включение этих значений в массив кажется гораздо более разумным; и действительно, вы сможете сопоставить этот массив с List with Jackson.