java controller层怎么接二维数组

后端接口:

@PostMapping("/compose/{id}")
    public Message compose(@PathVariable String id, @RequestBody List<List<String>> data) {
    }

前端传的数据如下:

[
    [null,"2016-12-31","2016-12-31","2016-12-31","2016-12-31","2016-12-31","2016-12-31"],
    ["","营业收入","营业成本","营业收入","营业成本","营业收入","营业成本"],
    ["华北","10,395.82","4.73","8,041.72","3.65","7,202.08","7,202.08"],
    ["华东","78,942.98","35.93","76,100.98","34.53","70,450.89","70,450.89"],
    ["华南","16,343.33","7.44","21,176.08","9.61","22,709.62","22,709.62"],
    ["华中","41,575.34","18.92","37,104.71","16.84","39,294.05","39,294.05"],
    ["西北","4,581.72","2.09","5,273.01","2.39","4,261.26","4,261.26"],
    ["西南","64,956.49","29.57","69,146.78","31.38","72,990.61","72,990.61"],
    ["境外","1,126.66","0.51","1,278.24","0.58","1,284.34","1,284.34"],
    ["合计","219,704.55","100.00","220,385.17","100","221,530.55","221,530.55"]
]

前端代码如下,用的angular.js的$http:

// 其中data就是二维数组
$http.post(url, data).then(response => {});

报错如下:

 [WARN] DefaultHandlerExceptionResolver Line:384 - Failed to read HTTP message: org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Can not deserialize instance of java.util.ArrayList out of START_OBJECT token; nested exception is com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of java.util.ArrayList out of START_OBJECT token

后端该怎么处理才能接到二维数组。

阅读 7.8k
3 个回答

直接String data接收不到吗?

图片描述

我这边正常的哇!可以直接用list得到啊

刚试了下,在html里面这么写也是ok的.
$("#bbb").click(()=>{

let json = [
    [null,"2016-12-31","2016-12-31","2016-12-31","2016-12-31","2016-12-31","2016-12-31"],
    ["","营业收入","营业成本","营业收入","营业成本","营业收入","营业成本"],
    ["华北","10,395.82","4.73","8,041.72","3.65","7,202.08","7,202.08"],
    ["华东","78,942.98","35.93","76,100.98","34.53","70,450.89","70,450.89"],
    ["华南","16,343.33","7.44","21,176.08","9.61","22,709.62","22,709.62"],
    ["华中","41,575.34","18.92","37,104.71","16.84","39,294.05","39,294.05"],
    ["西北","4,581.72","2.09","5,273.01","2.39","4,261.26","4,261.26"],
    ["西南","64,956.49","29.57","69,146.78","31.38","72,990.61","72,990.61"],
    ["境外","1,126.66","0.51","1,278.24","0.58","1,284.34","1,284.34"],
    ["合计","219,704.55","100.00","220,385.17","100","221,530.55","221,530.55"]
]                  
$.ajax({  
    type : "POST",  
    url : 'http://localhost:10000/app/compose/bbbID',  
    data : JSON.stringify(json),  
    contentType : "application/json",   
    dataType : "json",  
    success:function(msg) {  
        console.log(msg)
    }  
});

})

可以使用String类型的字符串,然后后台导入arraryjson架包或者使用阿里的jsonfast架包,帮你切割字符串

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题