Javascript Jquery在td中创建带有字典项的html表

Javascript Jquery在td中创建带有字典项的html表,javascript,jquery,html,Javascript,Jquery,Html,我基本上是一个javascript/HTMLNoob,请容忍我。之前,我用jinja2创建了一个html表。行值来自python键值字典列表,即 rows = [{"category": "categoryA","region": "west", "count": 2}, {"category": "categoryB","region": "east", "count": 3}, {"category": "categoryC","state": "ny", "

我基本上是一个javascript/HTMLNoob,请容忍我。之前,我用jinja2创建了一个html表。行值来自python键值字典列表,即

rows = [{"category": "categoryA","region": "west", "count": 2},
        {"category": "categoryB","region": "east", "count": 3},
        {"category": "categoryC","state": "ny", "count": 3}]


{% for row in rows %}
 <tr>
  <td> {{row}} </td>
 </tr>    
{% endfor %}
带有dict的单元格,例如
{“category”:“categoryC”,“state”:“ny”,“count”:3}
在html表上呈现为
[object object]


如何在JQuery中创建html表时将这些字典呈现为值?

要获得与以前相同的对象文本表示形式,请尝试
JSON.stringify(row)
您必须使用
JSON.stringify()
以类似
字符串的方式显示

html += '<tr>'
jQuery.each(rows, function(idx, row) {
   html += "<td>" + JSON.stringify(row) + "</td>"
})
html += '</tr>';
html+=''
每个(行,函数(idx,行){
html++=“JSON.stringify(行)+”
})
html+='';

[object object]
是由程序输出
object.prototype.toString()
引起的,您应该在某个地方使用
JSON.stringify()
使对象按其应显示:

让行=[{
“类别”:“类别”,
“地区”:“西部”,
“计数”:2
},
{
“类别”:“类别B”,
“地区”:“东部”,
“计数”:3
},
{
“类别”:“类别”,
“州”:“纽约”,
“计数”:3
}
]
让html;
html+=''
$.each(行,函数(idx,行){
html++=“JSON.stringify(行)+”
})
html+='';
数据=[{
“名称”:“类别”,
“价值”:“西方”,
“道具类型”:2
},
{
“名称”:“类别B”,
“价值”:“东方”,
“道具类型”:3
},
{
“名称”:“类别”,
“值”:“ny”,
“道具类型”:3
}
]
object=JSON.parse(数据),
数组=对象。键(对象)。映射(函数(k){
返回对象[k];
});
var mainObj=数组;
变量k=''
对于(i=0;i

欢迎来到堆栈溢出。对于堆栈溢出,不鼓励使用仅代码的答案,因为它们没有解释堆栈溢出是如何解决问题的。请编辑您的答案,以解释此代码的作用以及它如何回答问题,以便对OP以及具有类似问题的其他用户有用。
html += '<tr>'
jQuery.each(rows, function(idx, row) {
   html += "<td>" + JSON.stringify(row) + "</td>"
})
html += '</tr>';