【问题标题】:How to add JSON string to the array in jquery如何在jquery中将JSON字符串添加到数组中
【发布时间】:2012-05-22 17:22:56
【问题描述】:

我已经从我的 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)?

【问题讨论】:

    标签: jquery asp.net-mvc json


    【解决方案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】:

    在您的 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);
        });
    }
    

    【讨论】:

    • 也许他正在寻找将[] 与来自ja 的数组合并?简单的push 会将新数组添加到list_lastpage
    • @VisioN 谢谢 - 现在我重新阅读了看起来更像他想要做的事情的 OP。
    • 感谢 Rory McCrossan,您能告诉我如何显示数组吗?
    【解决方案3】:

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

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

    【讨论】:

    • 如果您期望来自服务器的json,则无需解析传入的数据。 JQuery 为您完成这项工作。
    【解决方案4】:

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

     $(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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-02-25
      • 2018-04-18
      • 2020-09-22
      • 1970-01-01
      • 1970-01-01
      • 2021-12-30
      • 2015-03-09
      相关资源
      最近更新 更多