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
Post a Comment