Как конвертировать JSON объект в HTML данные [закрыто]
у меня есть объект json, имеющий данные как:
{"a":1,"b",3,"ds",4}
Я хочу преобразовать его в таблицу HTML, например:
name|Value
a 1
b 3
ds 4
может кто-нибудь предложить способ, как это сделать в HTML?.
спасибо
3 ответов
простой с 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);
});
тест:http://jsfiddle.net/T7eQg/1/
редактировать
и вы можете использовать эту библиотеку JS. Эта библиотека преобразует json в таблицу с сортировкой и т. д: http://www.dynatable.com/
вы можете использовать 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>
результирующая структура 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>
вы должны взглянуть на выбывание.js. При этом вы можете взять свои данные (Json) и привязать их к элементам HTML. Обновление и т. д. затем это делается автоматически, поэтому вам не нужно возиться с этим самостоятельно. Взгляните на примеры:http://knockoutjs.com/examples/simpleList.html