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

时间:2023-03-08 22:11:03

在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);
}
});  
});
});

随机推荐

  1. CentOS6.9下ssh密钥登录配置步骤(免密码登录)和ssh-keygen 命令常用参数

    密钥登录步骤(免密码登录)ssh登录提供两种认证方式:口令(密码)认证方式和密钥认证方式.其中口令(密码)认证方式是我们最常用的一种,出于安全方面的考虑,介绍密钥认证方式登录到linux/unix的方 ...

  2. Linux防火墙iptables介绍

    介绍网络防火墙是通过一个或多个允许或拒绝的规则来过滤网络流量的网络设备或软件.网络防火墙还可以执行更复杂的任务,例如网络地址转换,带宽调整,提供加密隧道以及更多与网络流量相关的任务.而我们的任务就是需 ...

  3. webstorm 添加 autoprefixer 工具为CSS加前缀

    webstrom IDE 的 setting (快捷键 Ctrl + Alt  + S) Tool -- External tool (绿色 + 添加) 3.填写 必要的项目 后 apply 备注:N ...

  4. CF983E NN country(倍增,差分)

    题意 给定一棵树和若干条路线,每条路线相当于树上 x,y 之间的路径,途径路径上的每个点 给出若干个询问,每次询问从 u 到 v 至少需要利用几条路线 N,M,Q≤200000 题解 构建倍增数组g[ ...

  5. Python学习笔记(4)--数据结构之元组tuple

    元组(tuple) 定义:tuple和list十分相似,但是tuple是不可变的,即不能修改tuple 初始化:(), ('a', ) , ('a', 'b')   //当只有一个元素时,需加上逗号, ...

  6. Vue2.0组件实现动态搜索引擎(一)

    原文链接:https://blog.****.net/qwezxc24680/article/details/74550556 从github上看到一个不错的开源项目:https://github.c ...

  7. Java 学习(12):重写(Override)与重载(Overload) & 多态

    目录 --- 重写 --- 重载 --- 多态 重写(Override) 重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变.即外壳不变,核心重写! 重写的好处在于子类可 ...

  8. 洛谷 P1293 班级聚会

    P1293 班级聚会 题目描述 毕业25年以后,我们的主人公开始准备同学聚会.打了无数电话后他终于搞到了所有同学的地址.他们有些人仍在本城市,但大多数人分散在其他的城市.不过,他发现一个巧合,所有地址 ...

  9. KM最大匹配 HDU 2255

    KM算法详解+模板 - wenr - 博客园  http://www.cnblogs.com/wenruo/p/5264235.html #include<iostream> #inclu ...

  10. 概率dp HDU 3853

    H - LOOPS Time Limit:5000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Submit ci ...