2012-05-21 32 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>