ajax请求java后台返回map结果集怎么取 5C

图片说明
如图所示,返回的是这样的数据,我应该怎么遍历取key和value

9个回答

ajax取数据成功后,如果取到的数据是一个对象,需要看到对象究竟是什么时可以这样做:

这样去看[object object]是什么样的。

var temp = ""; 
                        for(var i in result){//用javascript的for/in循环遍历对象的属性 
                        temp += i+":"+result[i]+"\n"; 
                        } 
                        alert(temp);

控制台写的 不要在意换行

var arrydata=[];
var objdata={};objdata[2014]="22";objdata[2015]="833";objdata[2017]="1851";arrydata.push(objdata);
 for(var i=0,len=arrydata.length;i<len;i++){ var temp=arrydata[i]; for(var key in temp){console.log("key:"+key+"-value:"+temp[key]);}}

你这个遍历很难,只能来一个一个取,要不然,你后端就不要这么封装;

weixin_40852944
weixin_40852944 后端呢,你可以封装一个 key value 的对象Object,然后把对象的list集合返回到前端也可以
大约 2 年之前 回复
weixin_40852944
weixin_40852944 比如获取2014对应的值 var value = list[0]['2014']
大约 2 年之前 回复

你后台返回的是个数组data[0].2014

如果返回数据为data,直接遍历,通过下标获取,data[0]["2014"]

返回map方法上加上 @ResponseBody 转化为json格式。前台遍历

$.ajax({
type : "POST",
url : "",
dataType : "json",
success : function(data) {

                var Data=data;
              for(var key in Data) { 
                   alert("键:" + key + ",值 :"+ Data[key].2014);  
                }

            }
        }); 

for in 进行遍历

let temp = [{2014:'22',2015:'833'}];
let obj = temp[0];
for(let key in obj){
console.log(key,obj[key]);
// 2014,22
// 2015,833
}

直接从后台的返回对象中获取,利用如res[i]的方式进行获取。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问