парсинг 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, время: 20:11. |