как отобразить объект json с неограниченным свойством в pojo или в переменную @RequestBody в контроллере - PullRequest
0 голосов
/ 30 марта 2019

У меня есть объект json, как показано ниже

{'key_1':'value_1','key_2':'value_2','key_3':'value_3',.....'key_N':'value_N',}

Я пытался сопоставить этот JSON с HashMap<String,String>, но у меня это не сработало.

если у кого-то есть решение для отображения выше json с правильным типом данных в @RequestBody в spirng-контроллере, то это будет приветствоваться. Спасибо

1 Ответ

0 голосов
/ 30 марта 2019

Что касается вопроса, вы не можете хранить много значений json в объекте Map или любом другом объекте, поскольку он станет тяжелым объектом и может вызвать утечки памяти.

Вы можете добавить необходимые значения на карту или любой другой объект и отправить ответ клиенту.

Примечание: это не должен быть тяжелый объект, поскольку он будет воздействовать на среду реального времени при одновременном выполнении.

Однако вы можете использовать приведенный ниже фрагмент:

@RequestMapping(value = "/someUrl", method = RequestMethod.POST)
    public @ResponseBody ResponseEntity<Object> someMethod(final HttpServletRequest req, final HttpSession session) {
        ResponseEntity<Object> responseEntity;
        Map<String,String> map = new HashMap<>();
        map.put("key1", "value1");
        map.put("key2", "value2");
        map.put("key3", "value3");
        map.put("key4", "value4");
        map.put("key5", "value5");
        map.put("key6", "value6");
        map.put("key7", "value7");
        map.put("key8", "value8");
        map.put("key9", "value9");
        responseEntity = new ResponseEntity<Object>(map, HttpStatus.OK);
        return responseEntity;
    } 
...