servlet+ajax+json字符串后台传入,前端解析并把数据循环填入表格实例

写在前面:
1、源代码来源于博客http://blog.sina.com.cn/u/2904067371 ,在此基础上对于前端代码稍作更改,把传过来的数据解析并传入表格
2、json解析,用eval()
3、写入表格 table.rows[i].cells[j].innerHTML
4、导入java中json应用的jar包(如果没有导入jar包或者包不全就不会有import net.sf.json.JSONArray;import net.sf.json.JSONObject;
JSONArray、JSONObject会报错。
)

5、测试字符串如下:{"person":[{"id":3,"name":"ss","pwd":"1234"},{"id":23,"name":"ws","pwd":"124"}]}

json jar包百度云:

http://pan.baidu.com/s/1i3GNJ9N

工程截图:

效果截图:

代码:

Person.java

package com.orilore.gb;

public class Person {
    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;
    }
    public String getPwd() {
        return pwd;
    }
    public void setPwd(String pwd) {
        this.pwd = pwd;
    }
    private int id;
    private String name;
    private String pwd;

}

servlet  json.java

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

    doPost(request, response);
    }

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

        response.setContentType("text/xml;character=utf-8");
          response.setHeader("Cache-Control", "no-cache");
          try{
           Person p =new Person();
           p.setName("ss");
           p.setId(3);
           p.setPwd("1234");

           Person p1 =new Person();
           p1.setName("ws");
           p1.setId(23);
           p1.setPwd("124");
           List<Person> list =new ArrayList<Person>();
           list.add(p);
           list.add(p1);
           try{

            JSONArray json =JSONArray.fromObject(list);
            JSONObject jb =new JSONObject();
            jb.put("person", json);
            response.getWriter().write(jb.toString());
           }catch(IOException e){
            e.printStackTrace();
           }
          }catch(Exception e){
           e.printStackTrace();
          }

    }

前端页面代码

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title></title>
    <link rel="stylesheet" href="">
</head>
<body>
  <input type="button" onclick="validate()" value="dsfdsafa" >
  <div id="div"></div>
  <table border="1" style="width:300px;height:200px;" id="table">
     <tr id="tr" border="1"><td>1</td>
         <td>1</td>
         <td>1</td></tr>

         <tr border="1"><td>1</td>
         <td>1</td>
         <td>1</td></tr></table>
<script type="text/javascript">

     function validate(){
     var div=document.getElementById("div");
     var xmlhttp;
     var table=document.getElementById(‘table‘);

   if(window.XMLHttpRequest){
    xmlhttp=new XMLHttpRequest();
   }else{
    xmlhttp=new ActiveObject("Microsoft.XMLHTTP");
   }
   xmlhttp.onreadystatechange=function(){
    if (xmlhttp.readyState==4 && xmlhttp.status==200){
       var x=xmlhttp.responseText
        div.innerHTML=x;
        var sd=eval("(" + x + ")");

var arr=new Array();
var i=0;
    for(var a in sd.person){//获取有几个person
         var count=0;//计算person属性值的个数
         i++;
        for(var item in sd.person[a])
        { count++;
          var p=sd.person[a][item];//得到属性值的内容
          table.rows[i-1].cells[count-1].innerHTML=p;//把内容填向table表格
        }
      }
    }
   }
   var url ="json";
   xmlhttp.open("POST",url,true);
   xmlhttp.send(); 

     }
</script>
  </body>
</html>
时间: 2024-12-22 09:37:48

servlet+ajax+json字符串后台传入,前端解析并把数据循环填入表格实例的相关文章

JSON字符串——后台解析系列

以前我们都是讲JSON字符串获取后,在前台进行展示.今天小编就交给大家后台解析展示数据的方法.非常方便,就以下代码: JObject obj = JObject.Parse(data); string serial_number = obj["entry"]["serial_number"].ToString(); string level_1 = obj["entry"]["field_23"]["level_1&

AJAX —— JSON 字符串 与 JSON 对象

一.JSON 字符串转 JSON 对象 ----> JSON.parse(JString); 1 // JSON 字符串转 JSON 对象 ----> JSON.parse(JString); 2 $("btn03").onclick = function(){ 3 var str = '{"name":"zhangsan","age":"23"}'; // JSON字符串 4 var obj

json数组和json字符串转换成map解析

package demo; import java.util.List;import java.util.Map;import java.util.Map.Entry; import net.sf.json.JSONArray;import net.sf.json.JSONObject; public class ResolveJson { public static void main(String[] args) {     //JSONArray型装换成map遍历  String json

AJAX,JSON,GSON

AJAX将数据使用JSON格式发送给后端Servlet或其他语言解析. 对JSON内容使用GSON外扩展包进行分解,并使用(如查询用户名是否已经被注册), 最后使用Map集合设置新的返回状态码,并使用: /////* 使用GSON工具包将map对象转义成JSON字符串 Gson gson = new Gson(); String jsonStr = gson.toJson(jsonMap); //使用PrintWriter将json字符串写入,并flush发送回到AJAX的success方法参数

也谈C#之Json,从Json字符串到类代码

原文:也谈C#之Json,从Json字符串到类代码  阅读目录 json转类对象 逆思考 从json字符串自动生成C#类  json转类对象 自从.net 4.0开始,微软提供了一整套的针对json进行处理的方案.其中,就有如何把json字符串转化成C#类对象,其实这段代码很多人都清楚,大家也都认识,我就不多说,先贴代码. 1.添加引用 System.Web.Extensions 2.测试一下代码 1 static class Program 2 { 3 /// <summary> 4 ///

请求要素是json字符串时,php如何获取原生请求体

php 常见问题及解决方法 (1)请求要素是json字符串,后台如何获取 //this is a common php library by huangwei , //date:2014-07-03 //see http://blog.sina.com.cn/s/blog_4657e98e0100dyxp.html //see http://www.cnblogs.com/fullhouse/archive/2012/04/24/2468870.html if(array_key_exists(

ajax+json模态框中分页(spring+struts+mybatis+easyui分页插件)

0.业务需求: 点击每个数字的时候可以显示每个对应的详细记录.也就是得点击11的时候拿着开采部与C级去查询. 1.页面中的模态框与分页组件(注意:需要隐藏一个页号,点击分页插件的时候给隐藏的页号赋值,ajax再次请求的时候取页面的页号值) <!-- 隐藏查询条件的页号 --> <input type="hidden" name="currentPage" id="currentPage"> <!-- 模态框 统计详细

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

json字符串转化成json对象 // jquery的方法 var jsonObj = $.parseJSON(jsonStr) //js 的方法 var jsonObj = JSON.parse(jsonStr) json对象转化成json字符串 //js方法 var jsonStr1 = JSON.stringify(jsonObj) json对象和json字符串之间的相互转换 例一:比如我有两个变量,我要将a转换成字符串,将b转换成JSON对象: var a={"name":&q

C#之Json,从Json字符串到类代码

自从.net 4.0开始,微软提供了一整套的针对json进行处理的方案.其中,就有如何把json字符串转化成C#类对象,其实这段代码很多人都清楚,大家也都认识,我就不多说,先贴代码. 1.添加引用 System.Web.Extensions 2.测试一下代码 static class Program { /// <summary> /// 程序的主入口点. /// </summary> static void Main() { string jsonStr = "{\&q