如何在JQuery中将新的json值推送到数组

时间:2017-03-14 12:30:18

标签: jquery json push

我有一个代码:

var name2 = <?php echo $json;?>;

我正在处理 name2 中的数据,如果用户向DB添加一些数据,我想刷新name2中的数据。我使用AJAX并从服务器获取数据:

var json2 = $.parseJSON(data);
       EntriesCount =json2.length;
                 $(json2).each(function(i,val){
                     $.each(val,function(k,v){
                         console.log("I = " + i + " | " + k+" -> "+ v);
                        name2[i][k] = v;       
});
});

但是,如果name2中的记录数量少于服务器数据库中的记录,则会出现&#34; unought类型错误(((<((

所以,我可以修复它以及如何在name2中推送新条目。

PS:name2的格式如下:

name2[i]['Name'], name2[i]['Phone'] and so on....

1 个答案:

答案 0 :(得分:0)

你需要在&#34; i&#34;创建缺失的项目。指数。这是通过使用typeof运算符检查它的存在来完成的。

var json2 = $.parseJSON(data);
EntriesCount = json2.length;
$(json2).each(function (i, val) {
    $.each(val, function (k, v) {
        console.log("I = " + i + " | " + k + " -> " + v);
        if (typeof name2[i] == "undefined")
            name2[i] = {};
        name2[i][k] = v;
    });
});