Arrays JSON数组迭代

Arrays JSON数组迭代,arrays,json,iteration,Arrays,Json,Iteration,这是我从spring控制器创建的json输出 [{"id":"1","name":"albert"},{"id":"2","name":"john"},{"id":"3","name":"mac-millon"},{"id":"4","name":"stenberg"},{"id":"5","name":"almaria"}] 在我的jsp文件中,我迭代json数组,如下所示 success: function(data){ var content= JSON.parse(data)

这是我从spring控制器创建的json输出

[{"id":"1","name":"albert"},{"id":"2","name":"john"},{"id":"3","name":"mac-millon"},{"id":"4","name":"stenberg"},{"id":"5","name":"almaria"}]
在我的jsp文件中,我迭代json数组,如下所示

success: function(data){
     var content= JSON.parse(data);
     $.each(content, function(i, data) {
                            $('#selectBox').append($('<option>').text(data.name).attr('value',data.id ));
                    });

我的迭代有什么问题吗?或者我应该以不同的格式创建json输出?请帮助。

我看到的一件事是您的JSON有2个id:2 {id:2,姓名:albert},{id:2,姓名:john}


不确定这是否是所需的逻辑。

FYI如果在响应中正确设置了头,则不需要调用JSON.parse。内容类型:application/json

在本例中,尽管ID重复,您的代码似乎工作正常。 单击“选择”框时,将显示所有5个选项。 还有多个HTML属性,它可以做您想要做的事情

var content=[{id:2,name:albert},{id:2,name:john},{id:3,name:mac millon},{id:4,name:stenberg},{id:5,name:almaria}]; //var content=JSON.parsedata; $document.readyfunction{ $.eachcontent,functioni,data{ $'selectBox,selectBoxMulti'。追加$.textdata.name.attr'value',data.id; }; };
它总是只显示我的选择框中的最后一个值,这到底意味着什么?房间里只有一个吗?多个但都具有相同的文本/值吗?你能提供一个答案吗?它只显示这样的信息:阿尔马里亚伊像这样尝试过,但没有运气。什么也没显示出来。”“数据”正在从控制器返回json值:成功:functiondata{var content=data;$.eachcontent,functioni,data{$'selectBox'。追加$.textdata.name.attr'value',data.id;};我得到了这个异常:uncaughttypeerror:无法使用'in'操作符来搜索……}谢谢它工作正常。我的下拉id中有一些问题。
id="5" value="almaria"