$.each(data, function (index, value) { })的用法;json和list<>的互相转换

在json中常常碰到这样的代码:

jquery $.each(data, function (index, value) {

   })

遍历处理data,可以是数组、DOM、json等,取决于直接给定或者ajax返回的类型

function (index, value)中index是当前元素的位置,value是值。

 // each处理一维数组

  var arr1 = [ "aaa""bbb""ccc" ];      
  $.each(arr1, function(i,val){      
      alert(i);   
      alert(val);
  });
  // 处理json数据,例如ajax的返回值     
  var obj = { one:1, two:2, three:3};      
 $.each(obj, function(key, val) {      
      alert(key); 
      alert(val); 
  });
 也就是说:obj的是一个对象:function里的key Value都是obj里的值;大多数情况下:data是后台返回的值;

$.each({a:3,b:'g'},function(index,value){alert('属性'+ index+ '的值是'+value);});

-----------------------------------------------------------------------------------------------------------------------

JQuery .each(function(i){怎么往里带参数?})

<script>
var xm=123,xt=456,xs=789;
$("ul li").each(function(i){
alert("i:"+i+" , xm:"+xm+" , xt: "+xt +" , xs: "+xs);
})
</script>

这就是,会对ul下的所有的li 进行循环:function里的i 是循环到的第几个li

第一个i的之后输出alert;第二个、第三个i 如此

-------------------------------------------------------------------------------------------

解析复杂的json时:

var color_ary=[{'id':'red','code':'01'},{'id':'blue','code':'02'},{'id':'green','code':'03'},{'id':'yellow','code':'04'},
             {'id':'black','code':'05'},{'id':'white','code':'06'},{'id':'orange','code':'07'}];
$.each(color_ary,function(index,item){a4+=item.id+":"+item.code+",";});
  //当数据为json格式时,可以如此来解析此json//这2种方法还是66的
  $.each(color_ary,function(index,item){a5+=color_ary[index].id+":"+color_ary[index].code+",";});
  //当数据为json格式时,也可以如此来解析此json
-------------------------------------------------------------------------------------------------------------
还有更复杂的解析:

1.例如后台返回的json数据如下

[{'id':"1","name":"2","user":{"name":"2","age":"18"}},{'id':"2","name":"2","user":{"name":"2","age":"18"}}]

2.前台解析代码如下

var obj = eval(s);
进行格式的转化,然后就能采用点运算符去取值,如obj[0].user.name;取出结果是2

---------------------------------------------------------------------------------------------------------------

$(function(){
$("#zhanshi input").click(function(){
alert("sda");
$("#ziliaoku_hero table").css("display","none");
$.ajax({
//传输方式
type:"post",
url:"herofenlei",
data:{"fenlei":$("#zhanshi input").val()},
dataTpye:"json",
success:function(data){
var json=eval(data);
var con;
$.each(json,function(index,item){
var s1=json[index].heroHear;
var s2=json[index].herowaihao;
con+="<td ><img src='"+s1+"'  width='64px' height='64px'  /><p style='font-size: 15px;'>"+s2+"</p></td>";  
});
console.log(con);
$("#zhanshi11").html(con);
}
});  
});
});

posted @ 2018-03-29 15:30  ProZkb  阅读(10549)  评论(0编辑  收藏  举报