如何在jquery中将JSON字符串添加到数组中

时间:2012-05-21 09:06:56

标签: jquery asp.net-mvc json

我从我的asp.net mvc控制器中检索JSON:

{"ja":
[
{"Name":"ABC1","PictureName1":"my image name1","ID":1},   
{"Name":"ABC2","PictureName2":"my image name2","ID":2},
.......
]}

在我看来,我在jquery中创建了一个数组:

var list_lastpage = [];

我想将我的JSON的所有元素推送到我刚创建的新数组中。

有人能告诉我,我怎样才能将JSON(ja)推送到数组(list_lastpage)?

4 个答案:

答案 0 :(得分:1)

在AJAX请求的success处理程序中尝试此操作:

success: function(json) {
    list_lastpage.push(json.ja);
}

如果您在返回的JSON中有多个ja个对象,请尝试以下操作:

success: function(json) {
    $.each(json.ja, function(i, val) {
        list_lastpage.push(val);
    });
}

答案 1 :(得分:1)

要将ja数组中的所有项目推送到list_lastpage,请尝试以下操作:

for (var i = 0, length = ja.length; i < length; i++) {
  list_lastpage.push(ja[i]);
}

<强>更新

我不确定您希望如何显示数组,但以下内容可能有所帮助:

$.each(list_lastpage, function(i, val) {
  var div = $('<div></div>');
  div.attr('id', val.ID);
  div.attr('name', val.Name);
  div.val(val.PictureName);
  $('#containerId').append(div);
});

答案 2 :(得分:1)

在Ajax调用成功之后,循环遍历Json字符串并添加到数组中:

        success: function (ja) {
            $.each(jQuery.parseJSON(ja), function () {
                list_lastpage.push(this);
            });

答案 3 :(得分:1)

除了其他答案,如果你想在你的视图中显示数组,你可以试试这个

 $(document).ready(function () {
    $.getJSON("/Home/userid", function (data) {
        var items = [];


        $.each(data, function (key, users) {
            items.push('<li id="' + users.UserId + '">' + users.UserName + '</li>');
        });

                $('<ul/>', {
                    'class': 'Users-list',
                    html: items.join('')
                }).appendTo('p');
           });
   });
 <p></p>