如何将Json对象转换为HTML数据

use*_*192 8 html json html-table

我有一个json对象,其数据为:

{"a": 1, "b": 3, "ds": 4}
Run Code Online (Sandbox Code Playgroud)

我想将其转换为HTML表格,如:

name | Value
a     1
b     3
ds    4
Run Code Online (Sandbox Code Playgroud)

有人可以建议一种在HTML中如何做到这一点的方法吗?

谢谢

Cha*_*ist 12

简单的jquery:

$(function() {
  var jsonObj = $.parseJSON('{"a":1,"b":3,"ds":4}');
  var html = '<table border="1">';
  $.each(jsonObj, function(key, value) {
    html += '<tr>';
    html += '<td>' + key + '</td>';
    html += '<td>' + value + '</td>';
    html += '</tr>';
  });
  html += '</table>';
  $('div').html(html);
});
Run Code Online (Sandbox Code Playgroud)

测试:http://jsfiddle.net/T7eQg/1/

编辑

你可以使用这个js库.这个库将json转换为具有排序等的表:http: //www.dynatable.com/


Aur*_*ser 5

您可以使用javascript:

<script type="text-javascript">
  var data = {
    "a": 1,
    "b": 3,
    "ds": 4
  };
  // Create a new table
  var table = document.createElement("table");
  // Add the table header
  var tr = document.createElement('tr');
  var leftRow = document.createElement('td');
  leftRow.innerHTML = "Name";
  tr.appendChild(leftRow);
  var rightRow = document.createElement('td');
  rightRow.innerHTML = "Value";
  tr.appendChild(rightRow);
  table.appendChild(tr);
  // Add the table rows
  for (var name in data) {
    var value = data[name];
    var tr = document.createElement('tr');
    var leftRow = document.createElement('td');
    leftRow.innerHTML = name;
    tr.appendChild(leftRow);
    var rightRow = document.createElement('td');
    rightRow.innerHTML = value;
    tr.appendChild(rightRow);
    table.appendChild(tr);
  }
  // Add the created table to the HTML page
  document.body.appendChild(table);
</script>
Run Code Online (Sandbox Code Playgroud)

生成的HTML结构为:

<table>
  <tr>
    <td>Name</td>
    <td>Value</td>
  </tr>
  <tr>
    <td>a</td>
    <td>1</td>
  </tr>
  <tr>
    <td>b</td>
    <td>3</td>
  </tr>
  <tr>
    <td>ds</td>
    <td>4</td>
  </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

这是工作提琴的链接。