解决方案 »

  1.   


    Map<String, String[]> map = request.getParameterMap();
    Gson gson = new Gson();
    Iterator<String> keyit = map.keySet().iterator();
    while (keyit.hasNext()) {
    String key = keyit.next();
    String value = "[" + map.get(key)[0] + "]";
    List result = gson.fromJson(value, List.class);
    Object object = result.get(0);
    request.setAttribute(key, object);
    }
      

  2.   


    $("#list").bind("click",function(){
    var data = [123, 456, 789];
    $.post('list',{"data":JSON.stringify(data)},function(result){
    var json =  JSON.parse(result);
    alert(json.sname);
    });
    });
      

  3.   

    把代码改成:gson.fromJson(value, new TypeToken<List<Integer>>(){}.getType());试试
      

  4.   

    谢谢大家的回答,已经找到解决方案了。
    问题原因:
    gson把int,long类型转化为了double类型解决方案:
    不使用gson,而改成jackson工具包