javascript - how to use json parsed data to be displayed in html table -


like so how use json parsed data displayed in html table. display data in each row using html parsed data.

<!doctype html> <html> <head> <script> function tjsonparse() { var i=0; var j=0; alert('1'); var obj = json.parse('{"employeelist":       [{"name":"john","age":"40","gender":"male", "employment":   [{"company":"tml","tenure":"2"},   {"company":"sys","tenure":"4"},    {"company":"rew","tenure":"5"}]}, {"name":"john2","age":"402","gender":"male2",   "employment":[{"company":"tml2","tenure":"22"},  {"company":"sys2","tenure":"42"},    {"company":"rew2","tenure":"52"}]}]}'); alert('2');    while(i<obj.employeelist.length)   {   alert(obj.employeelist[i].name);  document.getelementbyid("name").innerhtml=obj.employeelist[i].name;  alert(obj.employeelist[i].age);  document.getelementbyid("age").innerhtml=obj.employeelist[i].age;  alert(obj.employeelist[i].gender);  document.getelementbyid("gender").innerhtml=obj.employeelist[i].gender;   j=0;  while(j<obj.employeelist[i].employment.length)  {  alert(obj.employeelist[i].employment[j].company); document.getelementbyid("company").innerhtml=obj.employeelist[i].employment[j].company; alert(obj.employeelist[i].employment[j].tenure); document.getelementbyid("tenure").innerhtml=obj.employeelist[i].employment[j].tenure; j++; } i++;  }  }  </script>  </head>  <body>  <table border="1", cellspacing="2", cellpadding="20">  <tr>  <th>name:   </th>  <th>age:    </th>  <th>gender:  </th>  <th>company:  </th>  <th>tenure:  </th>  </tr>  <tr> <td><span id="name"></span></td> <td><span id="age"></span></td> <td><span id="gender"></span></td> <td><span id="company"></span></td> <td><span id="tenure"></span></td>  </tr> <tr> <td><span id="name"></span></td> <td><span id="age"></span></td> <td><span id="gender"></span></td> <td><span id="company"></span> <td><span id="tenure"></span></td> </tr> <tr> <td><span id="name"></span></td> <td><span id="age"></span></td> <td><span id="gender"></span></td> <td><span id="company"></span></td>   <td><span id="tenure"></span></td> </tr> <tr>    <td><span id="name"></span></td>       <td><span id="age"></span></td> <td><span id="gender"></span></td> <td><span id="company"></span></td> <td><span id="tenure"></span></td> </tr> <tr> <td><span id="name"></span></td> <td><span id="age"></span></td> <td><span id="gender"></span></td> <td><span id="company"></span></td> <td><span id="tenure"></span></td> </tr> <tr> <td><span id="name"></span></td> <td><span id="age"></span></td> <td><span id="gender"></span></td> <td><span id="company"></span></td> <td><span id="tenure"></span></td> </tr> </table> <button  value="submit"   onclick="tjsonparse();">testjson</button> </body> </html> 

you're missing couple of column titles? should work if understand you're after? http://jsfiddle.net/ngemh/1/

<div id="table"></div>  <script>  var i=0; var j=0; var table = " <table border=\"1\", cellspacing=\"2\", cellpadding=\"20\"> "+  "<tr>" +  "<th>name:   </th>" +  "<th>age:    </th>" +      "<th>gender:  </th>" +  "<th>company:  </th>" +  "<th>tenure:  </th>" +  "</tr>";  var obj = json.parse('{"employeelist":       [{"name":"john","age":"40","gender":"male","employment": [{"company":"tml","tenure":"2"}, {"company":"sys","tenure":"4"}, {"company":"rew","tenure":"5"}]}, {"name":"john2","age":"402","gender":"male2", "employment":[{"company":"tml2","tenure":"22"}, {"company":"sys2","tenure":"42"}, {"company":"rew2","tenure":"52"}]}]}');   while(i<obj.employeelist.length) { table += "<tr><td>"+obj.employeelist[i].name+"</td><td>"+obj.employeelist[i].age+"</td><td>"+obj.employeelist[i].gender+"</td>";  //alert(obj.employeelist[i].name);  //document.getelementbyid("name").innerhtml=obj.employeelist[i].name;  //alert(obj.employeelist[i].age);  //document.getelementbyid("age").innerhtml=obj.employeelist[i].age;  //alert(obj.employeelist[i].gender);  //document.getelementbyid("gender").innerhtml=obj.employeelist[i].gender;   j=0;  while(j<obj.employeelist[i].employment.length)  {     table += "<td>"+obj.employeelist[i].employment[j].company+"</td><td>"+obj.employeelist[i].employment[j].tenure+"</td>";     //alert(obj.employeelist[i].employment[j].company);     //document.getelementbyid("company").innerhtml=obj.employeelist[i].employment[j].company;     //alert(obj.employeelist[i].employment[j].tenure);     //document.getelementbyid("tenure").innerhtml=obj.employeelist[i].employment[j].tenure;     j++; } table += "</tr>"; i++; } document.getelementbyid("table").innerhtml=table; </script> 

alternatively use jquery parse json using .json , .each method iterate through each row. http://api.jquery.com/jquery.each/ http://api.jquery.com/jquery.parsejson/


Comments

Popular posts from this blog

linux - xterm copying to CLIPBOARD using copy-selection causes automatic updating of CLIPBOARD upon mouse selection -

c++ - qgraphicsview horizontal scrolling always has a vertical delta -