2012-05-21 27 views
1

我从我的asp.net的MVC的控制器检索JSON:如何JSON字符串添加到阵列中的jQuery

{"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)?

回答

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); 
}); 
+0

谢谢,你能告诉我如何显示这个数组? – Nothing

+0

@socheata查看更新。 –

+0

好的,现在运行良好。感谢:) – Nothing

1

试试这个在success处理您的AJAX请求:

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

如果你在你返回的JSON多个ja对象,试试这个:

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

也许他正在寻找''''''从'ja'数组合并?简单的'push'会将新的数组添加到'list_lastpage'。 – VisioN

+0

@VisioN谢谢 - 现在我重新阅读OP,看起来更像他想做的事情。 –

+0

感谢Rory McCrossan,你能告诉我如何显示数组吗? – Nothing

1

在你的Ajax调用,循环通过JSON字符串的成功,从其他的答案

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

如果你期望从服务器获得'json',那么就不需要解析传入的数据。 JQuery为你做这件事。 – VisioN

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>