在jquery ajax中,如果从后台往前台传一个List集合,前台解析

1、第一种就是用jsonObject.put(“key”,value);,这里面的key相当于一个对象的属性,value就是属性对应的值

然后 jsonArray.add(jsonObject)

最后是reponse.print(jsonArray.toString());

2、后台:

      List test2 = new ArrayList();

         User user1 =  new  User();
         user1.setUser_age( 23 );
         user1.setUser_email( "[email protected]" );
         user1.setUser_id( 1 );
         user1.setUser_name( "jerry" );
         user1.setUser_pwd( "pwd" );
  
         User user2 =  new  User();
         user2.setUser_age( 12 );
         user2.setUser_email( "[email protected]" );
         user2.setUser_id( 2 );
         user2.setUser_name( "tanshuangxi" );
         user2.setUser_pwd( "password" );
  
         test2.add(user1);
         test2.add(user2);
         test = JSONArray.fromObject(test2).toString();//此处的test是jsonObject的对象
前台
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$.ajax( {
         type :  'post' ,
         url :  "book/pages!isCurPageEqTotalPage" ,
         dataType :  'json' ,
         success :  function (data) {
          alert( "返回的数据是" +data.test);
         var  list = eval( '('  + data.test +  ')' );
         $.each(list, function (i, item) {
         alert( "i是"  + i +  "用户ID"  + item.user_id +  " 用户姓名 :" + item.user_name);
                 });
         alert( "测试结束" )
         // $("#nextPage2").css("display", "none");
         // }
     },
     error :  function () {
         return ;
     }
     });

总结

第一种比较麻烦,还得将对象的每个属性和value一个个放入jsonOBject,如果属性很多的时候,就相当麻烦

第二种就比较快,JSONArray.fromObject就可以在前台直接".属性"来获取了

你可能感兴趣的:(前台js)