powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Ошибка десереализации JSON в Spring MVC. Помогите пофиксить.
2 сообщений из 2, страница 1 из 1
Ошибка десереализации JSON в Spring MVC. Помогите пофиксить.
    #39334257
mesier
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имеем POJO класс:
Код: java
1.
2.
3.
4.
5.
6.
public class FooDto {
    private String foo;
    private String bar;
    private List<BazDto> bazList;

// constructor and getter/setter here


Spring-контроллер:
Код: java
1.
2.
3.
4.
    @RequestMapping(value = URL, method = RequestMethod.POST, consumes = "application/json")
    public void processFoo(@RequestBody FooDto fooDto) {
        // code here
    }


В запросе списочная переменная внутри JSON-массива может прийти в двух видах
Как массив.
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
{  "foo" : "foo", 
    "bar" : "bar", 
    "bazList" : [{
        "baz" : "baz1", 
        "quux": "quux1"
    }, {
        "baz" : "baz2", 
        "quux": "quux2"
    }]
}


Либо как карта. (Особенно этим грешит Nashorn)
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
{  "foo" : "foo", 
    "bar" : "bar", 
    "bazList" : {
        "0" : {
            "baz" : "baz1", 
            "quux": "quux1"
        }, {
        "1" : {
            "baz" : "baz2", 
            "quux": "quux2"
       }
    }
}


Естественно, во втором случае вылетает ошибка

org.springframework.http.converter.HttpMessageNotReadableException: Could not read document: Can not deserialize instance of java.util.ArrayList out of START_OBJECT token
at [Source: java.io.PushbackInputStream@4eef468c; line: 1, column: 252] (through reference chain: ru.company.entity.dto.FooDto["bazList"]); nested exception is com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of java.util.ArrayList out of START_OBJECT token
at [Source: java.io.PushbackInputStream@4eef468c; line: 1, column: 252] (through reference chain: ru.company.entity.dto.FooDto["bazList"])

Помогите решить проблему, пожалуйста!
Думаю, может как-то кастомный анмаршаллер состряпать и скормить Джексону? Тогда как? Нуждаюсь в подсказках, примерах.
...
Рейтинг: 0 / 0
Ошибка десереализации JSON в Spring MVC. Помогите пофиксить.
    #39334355
mesier
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://stackoverflow.com/questions/19580856/jackson-list-serialization-nested-lists
Кароч, сам нашел, спасибо за внимание! )))
Хотя, если кто предложит более изящное решение вместо данного костыля, буду благодарен.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Ошибка десереализации JSON в Spring MVC. Помогите пофиксить.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]