我正在尝试使用以下代码将JSON对象导出到HTML表:
JSONSelect.forEach(selecRow, options, function (queryResult) {
var sem = $.trim(JSON.stringify(queryResult, null, ' '));
console.log(sem);
$.getJSON('sem', {/*somedata*/}, function(json_data){
var table_obj = $('table');
$.each(json_data, function(index, item){
var table_row = $('<tr>', {id: item.id});
var table_cell = $('<td>', {html: item.data});
table_row.append(table_cell);
table_obj.append(table_row);
})
$('body').append(table_obj);
})
请注意,JSONSelect是一个查询JSON数据的插件,我已将结果存储在变量调用sem
中。最终sem
上的console.log(sem);
看起来像这样{/ 1}
我尝试使用上面的sem
方法将$.getJSON()
导出到表格,但我在结果/控制台上没有得到任何表格甚至错误。能不能让我知道我在这里做错了什么,或者有更好的想法来实现这个目标吗?
由于
答案 0 :(得分:0)
我认为您正在尝试使用$.getJSON
来处理错误的事情。它的目的是从远程源检索JSON数据......并且根据您的解释,您已经使用JSONSelect进行了此操作。
更新根据您的小提琴,很明显您从JSONSelect获得的queryResult实际上是其中一项 - 因此您不再需要执行{{1} } 内。你应该做这样的事情:
$.each
这是一个有效的fiddle(请注意我替换了表对象选择器 - 您必须根据您的解决方案进行调整)。
答案 1 :(得分:0)
试试这段代码:
<head>
<script type="text/javascript">
$.getJSON('URL', function(json_data){
//no need for parsejson
//use the json_data object
var table_obj = $('table');
$.each(json_data, function(index, result){
var table_row = $('<tr>', {});
var table_cell1 = $('<td>', {html: result.firstName});//result.yourDataAttributes
var table_cell2 = $('<td>', {html: result.lastName});
var table_cell3 = $('<td>', {html: result.age});
table_row.append(table_cell1,table_cell2,table_cell3);
table_obj.append(table_row);
})
});
</script>
</head>
<body>
<table id=""></table>
</body>