将JSON对象导出到HTML表的问题

时间:2014-04-03 14:40:08

标签: javascript jquery ajax json getjson

我正在尝试使用以下代码将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}

enter image description here

我尝试使用上面的sem方法将$.getJSON()导出到表格,但我在结果/控制台上没有得到任何表格甚至错误。能不能让我知道我在这里做错了什么,或者有更好的想法来实现这个目标吗?

由于

2 个答案:

答案 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>