如何将list类型的数据转换成json格式在服务器端

今天学习了如何将object类型的数据转换成json格式,并且在返回给浏览器,并且在浏览器端收到json格式的数据之后在成功的解析成我么所需要的格式的数据

1:在服务器端将object类型的数据转换成json格式需要一些jar包
为了方便说清楚,以示例为主来讲

这里写图片描述

下载地址:http://pan.baidu.com/s/1mh8IP2S




private void query(HttpServletRequest request, HttpServletResponse response) throws IOException{


        List<Person> persons =  s.findAllPerson();;
        //把一个list对象转化成string字符串
        String jsonString = JSONArray.fromObject(persons).toString();
        //返回给浏览器
        response.getWriter().println(jsonString);

       }

客户端浏览器在接收到服务器端返回来的json数据之后,需要进行解析,解析成json对象,然后利用jquery技术将对象中的字段加入到表格中

这个功能其实就是查询功能

//用于页面初始化的时候加载数据使用
//并且将加载到的数据放入到表格中
function queryPerson(){

    //查询数据
    $.post('../../PersonServlet1',null,
    function(data){
        //eval函数可以把从服务器端返回到客户端的字符串转换成json对象
    var jsonOBJ = eval("("+data+")");
    //data是服务器端将list类型的对象转换成json格式后返回来的,也就是json格式的字符串
    //所以我们在浏览器端只需要在将json格式的字符串在转换成我们需要的格式对象就可以了
    for(var i=0;i<jsonOBJ.length;i++)
        {
        //得到 所需要的数据,也就是将json对象中的数据提取出来
         var name = jsonOBJ[i].name;
         var description = jsonOBJ[i].description;
         var pid = jsonOBJ[i].pid;

         var $checkbox = $("<input/>").attr("type","checkbox");
         var $checkboxTD = $("<td/>").append($checkbox);
         $checkboxTD.attr("id",pid);

          var $nameTD = $("<td/>").text(name);
          var $descriptionTD = $("<td/>").text(description);

          var $updateA = $("<a/>").text("修改");
          $updateA.css("cursor","pointer");
          var $deleteA = $("<a/>").text("删除");
          $deleteA.css("cursor","pointer");

          var  $updateTD = $("<td/>").append($updateA);
          var $deleteTD  =  $("<td/>").append($deleteA);
          var $tr = $("<tr/>").append( $checkboxTD).append($nameTD).append($descriptionTD).append($updateTD).append($deleteTD);
          $("#usertable").append($tr);

        }
    }       
 ); 
};

删除功能

  $deleteA.click(function(){
            if(window.confirm("确定要删除吗"))    
                {//$(this).parent().parent().remove();
                 //此处并没有做到从数据库里边删除,刷新之后数据任然存在
                 //所以这里要做的就是从数据库里边删除数据  
//              
               //要根据id来删除数据  
              var pid = $(this).parent().siblings("td:eq(0)").attr("id");

              $.post('../../PersonServlet',{method:'deleteById',pid:pid},
                 function(data){
                               $deleteA.parent().parent().remove();
                               });  
                 }        
          });

添加功能

$("#addUser").click(function(){
        var pid = $("#pid").val();
        var name = $("#name").val();
        var description = $("#description").val();
        if(pid==""||name==""||description==""){
            alert("请输入正确的数据");
        }else{

            $.post('../../PersonServlet',{method:'addUser',pid:pid,name:name,description:description},
                    function(data){
                                   alert("添加成功");     
                                   }
                );  
        }


    });

复选框的全选功能

$("#allCheckbox").click(function(){
      if($(this).attr("checked"))
          {
              $(":checkbox").attr("checked",true);
          }
      else
          {
             $(":checkbox").attr("checked",false);
          }

    });

跟新功能

 $updateA.click(function(){

              var pid = $(this).parent().siblings("td:eq(0)").attr("id");
              var name = $(this).parent().siblings("td:eq(1)").text();
              var description = $(this).parent().siblings("td:eq(2)").text();

              $("#id_update").val(pid);
              $("#name_update").val(name);
              $("#description_update").val(description);

          });


$("#updateUser").click(function(){
        var pid = $("#id_update").val();
        var name = $("#name_update").val();
        var description = $("#description_update").val();

        $.post('../../PersonServlet',{
            method:'update',
            pid:pid,
            name:name,
            description:description},function(data)
               {

                alert("修改成功");

                }
             );
    });

删除功能

  //删除功能,就是将数据删除
          $deleteA.click(function(){
            if(window.confirm("确定要删除吗"))    
                {//$(this).parent().parent().remove();
                 //此处并没有做到从数据库里边删除,刷新之后数据任然存在
                 //所以这里要做的就是从数据库里边删除数据  
//              
               //要根据id来删除数据  
              var pid = $(this).parent().siblings("td:eq(0)").attr("id");

              $.post('../../PersonServlet',{method:'deleteById',pid:pid},
                 function(data){
                               $deleteA.parent().parent().remove();
                               alert("删除成功");
                               });  
                 }        
          });
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值