循环遍历JSONObject并打印结果

时间:2013-12-13 15:38:36

标签: javascript jquery

我需要遍历一个jsonobject并打印属性name.Im使用下面的代码来工作但不确定是什么问题。

JS

var jsonobject = [{'name':'Bob','age':'20','sex':'male'},
                 {'name':'Tom','age':'30','sex':'male'},
                 {'name':'Mike','age':'40','sex':'male'},
                 ]

jsonobject.forEach(function(entry) {
    empname = entry.name;
    $('#test').html('<b>entry.name</b>')
})

HTML

<div id='test'>
</div>

2 个答案:

答案 0 :(得分:2)

您需要使用append()和字符串连接来使用变量值。使用.html()时,它会覆盖前一个值,因此在循环结束时,您将只获得最后一次执行结果

$('#test').append('<b>' + entry.name + '</b>')

演示:Fiddle

答案 1 :(得分:2)

你很近, 试试这个:

jsonobject.forEach(function(entry) {
    var empname = entry.name;
    $('#test').append('<b>'+empname+'</b><br />')
})

Demo

我改变了什么:

  • 我将值empname与连接运算符+连接在一起。
  • 使用.append()代替.html(),否则您将始终替换每个新值。
  • 添加<br />只是为了让它们显示在一个新行中。
  • var之前添加了empname,以避免在全球范围内进行干预。