如何将具有无限属性的json对象映射到pojo或控制器中的@RequestBody变量中

时间:2019-03-30 05:24:31

标签: json spring mapping pojo

我有如下的json对象

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

我尝试用HashMap<String,String>映射此json,但对我不起作用。

如果有人有解决方案可以在spirng控制器的@RequestBody中以正确的数据类型映射到json之上。 谢谢

1 个答案:

答案 0 :(得分:-1)

根据问题,您不能在Map对象或任何其他对象中保存许多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;
    }