парсинг json
[{"key1" : "value1", "key2" : "value2"},{"key1" : "value1", "key2" : "value2"},{"key1" : "value1", "key2" : "value2"}]
<table>
<thead>
<tr>
<th>caption for key1</th>
<th>caption for key2</th>
</tr>
</thead>
<tbody>
<tr>
<td>value of key1</td>
<td>value of key2</td>
</tr>
</tbody>
</table>
как?! через eval? я могу распарсить json вида:
["item" : {"key1" : "value1", "key2" : "value2"}, "item" : {"key1" : "value1", "key2" : "value2"}, "item" : {"key1" : "value1", "key2" : "value2"}]
а с этим чего-то застрял :( P.s. вроде разобрался, однако интересны ваши варианты решения. |
Цитата:
и Пожалуйста, отформатируйте свой код! Для этого его можно заключить в специальные теги: js/css/html и т.п., например: [js] ... ваш код... [/js] О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.Здравствуйте! |
Цитата:
$.each(data, function(index, obj) obj.name |
Nesquik,
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script>
$(function() {
var data = '{"item1" : {"key1" : "value1", "key2" : "value2"}, "item2" : {"key1" : "value3", "key2" : "value4"}, "item3" : {"key1" : "value5", "key2" : "value6"}}';
data = JSON.parse(data);
$.each(Object.keys(data), function(i, item) {
$("table tbody").append($("<tr/>").append($.map(Object.keys(data[item]), function(key) {
return $("<td/>", {
text: data[item][key]
})
})))
})
});
</script>
</head>
<body>
<table>
<thead>
<tr>
<th>caption for key1</th>
<th>caption for key2</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</body>
</html>
|
Рони, спасибо, неплохое решение, единственное что если взять более общий случай (когда value из json мы вставляем как в td, так и куда-то еще).
у вас получилось слишком красиво :D |
| Часовой пояс GMT +3, время: 21:37. |