jquery 遍历json对象和json对象数组

描述:jQuery ajax处理服务端返回的json数据,这里主要说明的是对象数据,即目标 是对象。

首先是后台的处理过程。本例子为了方便采用servlet来作为服务端。

声明一个enty类.User.java代码如下:

package enty;

public class User {
    private int id;
    private String name;
    public User(){
    }
    public User(int id,String name){
        this.id = id;
        this.name = name;
    }
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }

}

EntyToJson.java的主要代码如下:

public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        response.setContentType("text/json");
        response.setCharacterEncoding("utf-8");
        PrintWriter out = response.getWriter();
        User user1 = new User(1, "wkl");
        User user2 = new User(2, "wkl");
        User user3 = new User(3, "wkl");
        User user4 = new User(4, "wkl");
        //定义一个集合list用来存放user对象
        List<User> users = new ArrayList<User>();
        users.add(user1);
        users.add(user2);
        users.add(user3);
        users.add(user4);
        //集合要调用json对象数组JSONArray类
        JSONArray jsonObject = JSONArray.fromObject(users);
        //单个对象要调用jsonobject类
        JSONObject jsonObject2 = JSONObject.fromObject(user1);
        out.println(jsonObject.toString());
        //out.println(jsonObject2.toString());
    }

这里需要注意单个对象和集合,转换它们为json对象是用不同的类来处理的。

前端页面代码。主要的功能描述就是,当点击“加载对象列表”按钮时,把后台的数据load到表格中。具体代码如下

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">

    <title>My JSP ‘enty_json.jsp‘ starting page</title>

    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->
        <!-- 引入jquery -->
    <script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery-1.9.1.js"></script>

    <script type="text/javascript">
        function loadUsers(){
            $.ajax({
                url: "EntyToJson",
                type:"post",
               // data:"name="+$(‘#name‘)[0].value+"&password=123",//向后台传送的数据格式
                dataType:"json",                  // 成功返回时需要注意:如果返回的是单个json对象,就不要加上each这个函数,直接data.id,data.value就行了。如果返回的是json对象数组,哪怕只有一个对象在里面,也是需要遍历的                  //即加上each这个函数,取值为value.id、value.name.value代表的是当前的json对象.
                success: function(data, textStatus){
                    alert(textStatus);
                    $.each(data,function(n,value){
                         var str = "<tr><td>"+value.id+"</td><td>"+value.name+"</td></tr>";
                         $("#userList").append(str);
                    });
                },
                error:function(XMLHttpRequest, textStatus, errorThrown){
                     alert(textStatus);
                }
            });
        }
    </script>

  </head>

  <body>
  <input type="button" id="btn" onClick="loadUsers()" value="加载对象列表">
  <center>
      <div>对象列表</div>
      <table id="userList">
         <tr><td>ID</td><td>姓名</td></tr>
      </table>
  </center>

  </body>
</html>
时间: 2024-11-06 04:47:03

jquery 遍历json对象和json对象数组的相关文章

Jquery遍历筛选数组的几种方法和遍历解析json对象|Map()方法详解

一.Jquery遍历筛选数组 1.jquery grep()筛选遍历数组 $().ready( function(){ var array = [1,2,3,4,5,6,7,8,9]; var filterarray = $.grep(array,function(value){ return value > 5;//筛选出大于5的 }); for(var i=0;i<filterarray.length;i++){ alert(filterarray[i]); } for (key in f

JSON对象与JSON数组的长度和遍历方法

JSON对象与JSON数组的长度和遍历方法         1.json对象的长度与遍历                 结构:var json={“name”:”sm”,”sex”:”woman”}                 遍历的方法:for(var js2 in json){                                                 alert(js2 + “=” + json[js2]);                            

jQuery中json对象的复制(数组及对象)

摘自: http://www.2cto.com/kf/201306/218838.html 1.jQuery自带的$.map方式: $.map(json, function (n) { return n; }); 这种方式原来用于复制数组还可以,今天用它复制数组中的某一条记录,发现字段名称丢失了,后来发现了第二种方法. 2.深复制与浅复制 // 浅层复制(只复制顶层的非 object 元素) var newObject = jQuery.extend({}, oldObject); // 深层复

jQuery遍历对象/数组/集合

转载自: 网络 1.jquery 遍历对象 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> New Document </TITLE> <script language="javascript" type="text/javascript" src="

jQuery遍历对象、数组、集合实例

1.jquery 遍历对象 复制代码代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">  <HTML>   <HEAD>    <TITLE> New Document </TITLE>    <script language="javascript" type="text/javascript"

jquery遍历json与数组方法总结

来自:http://www.php100.com/html/program/jquery/2013/0905/5927.html 先我们来参考each() 方法,each()规定为每个匹配元素规定运行的函数,返回 false 可用于及早停止循环 语法 $(selector).each(function(index,element)) 例  each处理一维数组 var arr1 = [ "aaa", "bbb", "ccc" ];       

jquery 遍历对象、数组、集合

转:http://blog.sina.com.cn/s/blog_5db0dfe40100hay7.html 使用了jquery有段时间了,整理下jquery中的遍历问题. 1.jquery 遍历对象 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML>  <HEAD>   <TITLE> New Document </TITLE>   &l

js中js数组、对象与json之间的转换

在数据传输过程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键.例如:JSON字符串:var str1 = '{ "name": "cxh", "sex": "man" }';JSON对象:var str2 = { "name": "cxh", "sex": "man"

用JAVA进行Json数据解析(对象数组的相互嵌套)

这段时间我们在做一个英语翻译软件的小小小APP,涉及到了对Json数据的解析,所以特地来总结一下! 假设我们要对如下数据进行解析,其实在平时,返回的Json数据是很乱的,很难分清数据的关系,这是经过相关工具美化后的结果 {  "translation": [    "爱"  ],  "basic": {    "us-phonetic": "l?v",    "phonetic": &q

json字符串、json对象、数组 三者之间的转换

json字符串转化成json对象 // jquery的方法 var jsonObj = $.parseJSON(jsonStr) //js 的方法 var jsonObj = JSON.parse(jsonStr) json对象转化成json字符串 //js方法 var jsonStr1 = JSON.stringify(jsonObj) 例如 例如: <script type="text/javascript"> var jsonStr = '[{"id&quo