servlet与json

在jsp页面js脚本中

<script type="text/javascript">
    
    window.onload = function validate(obj){
          var xmlhttp;
           if(window.XMLHttpRequest){
            xmlhttp=new XMLHttpRequest();
              }else{
            xmlhttp=new ActiveObject("Microsoft.XMLHTTP");
           }
           xmlhttp.onreadystatechange=function(){
            if (xmlhttp.readyState==4 && xmlhttp.status==200){          
                 var value =xmlhttp.responseText;
                  var obj = eval ("(" + value + ")");
                  //var json = JSON.parse(value);
                 
                alert(obj.person[0].name);
        //在这里遍历输出返回来的信息即可      

        }
   }
   var url ="fan/servlet/demo?name="+obj;   
   xmlhttp.open("POST",url,true);
   xmlhttp.send();
  }
</script> 


var url ="fan/servlet/demo?name="+obj;   
   xmlhttp.open("POST",url,true);
   xmlhttp.send();

这三行代码请求servlet

请求成功后就会返回servlet返回接送数据给jsp页面

     xmlhttp.onreadystatechange=function(){
            if (xmlhttp.readyState==4 && xmlhttp.status==200){          
                 var value =xmlhttp.responseText;
                  var obj = eval ("(" + value + ")");
                  //var json = JSON.parse(value);
                 
                alert(obj.person[0].name);
        //在这里遍历输出返回来的信息即可      

        }
   }





servlet代码


     @Override
     protected void doPost(HttpServletRequest req, HttpServletResponse resp)
       throws ServletException, IOException {
      // TODO Auto-generated method stub
      resp.setContentType("text/xml");
      resp.setCharacterEncoding("utf-8");
      resp.setHeader("Cache-Control", "no-cache");
      try{
       Person p =new Person();
       p.setName("小宝");
       p.setAge(3);
       p.setSex("男");
       List<Person> list =new ArrayList<Person>();
       list.add(p);
       try{
        JSONArray json =JSONArray.fromObject(list);
        
        JSONObject jb =new JSONObject();
        jb.put("person", json);
        System.out.println(jb.toString());
        resp.getWriter().write(jb.toString());
        
       }catch(IOException e){
        e.printStackTrace();
       }
      }catch(Exception e){
       e.printStackTrace();
      }
     }

jsonarray对象添加pojo类对象集合

然后在将集合传给jsonobject对象 建立键值对person jsonobject

  resp.getWriter().write(jb.toString());将数据返回给请求页面

     在请求页面中

js代码中获取数据 根据数据的json格式获取

    var value =xmlhttp.responseText;
                  var obj = eval ("(" + value + ")");
                  //var json = JSON.parse(value);
                 
                alert(obj.person[0].name);

obj 解析了json数据

obj.person 获取是person建的 jsonarray对象

person[0]获取list集合中第一个 建立person pojo类的数据

person[0].name 是person pojo类的一个属性

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值