后台将对象转换为json格式,前台js解析json数据,将字符串转化为数组

后台Action

public void selectReadersById1(){
HttpServletRequest request=ServletActionContext.getRequest();
HttpServletResponse response= ServletActionContext.getResponse();
String id=request.getParameter("readerId");                             //接收jsp页面传的参数读者id
Readers readers=readersBiz.selectReaderById(Integer.parseInt(id));
if (readers!=null) {

//标红部分为精华,将对象转换为json格式
JSONArray jsonarray = JSONArray.fromObject(readers);
       response.setContentType("text/html;charset=UTF-8");
       try 
       {
           response.getWriter().print(jsonarray);
           System.out.println(jsonarray);
       } 
       catch (IOException e) 
       {
           e.printStackTrace();
       }

}
}

前台页面.jsp

$("#readerId").blur(function(){
var readerId=$("#readerId").val();
$.ajax({
  type:"post",
  url:"<%=request.getContextPath()%>/selectReadersById1.action",
  data:{"readerId":readerId},     //传参数读者id至后台
  dataType:"text",
  success:function(data)
  {

alert(data);                          //打印结果可以看出data是一个json格式的字符串

//标红部分为精华部分,将json格式的字符串转化为数组
  var myobj=eval(data);  
for(var i=0;i<myobj.length;i++){  
  $("#readerName").val(myobj[i].name);  
//   alert(myobj[i].age);  
}  

  }
  })
})


注:eval()    将服务器端构建好的JSON数据转化为可用的JavaScript对象,在转化的时候需要将JSON字符串的外面包装一层圆括号
       如:var jsonObject = eval("(" + jsonFormat + ")");



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值