编程自学网编程自学网编程自学网

使用jquery将新元素添加到JSON数组中

我有以下JSON数组

 var feeds =   {"data":[{"id":"128811893769_10152115787143770"},{"id":"128811893769_10152115787143770"}]}

如何在json中添加新的键和值,即(likes_count,share_count)

$.each(feeds.data, function (i, item) {
    $.getJSON("facebook_feeds.php?result_type=getCounts&id="+item.id, 
        function(summary) {                         
            var likesCount = summary[0].like_info.like_count;                      
            var shareCount = summary[0].share_info.share_count;             
        });
});

我想将键和值推入feed数组


尝试这个

  feeds.data.push({"likesCount": likesCount});  feeds.data.push({"shareCount": shareCount});

有两种方法。1.在item中直接添加likesCount和shareCount [项目保持当前feed.data元素]要么2.使用jQuery的extend方法,(我不建议将其用于此类琐碎的事情)

$.each(feeds.data, function (i, item) {
    $.getJSON("facebook_feeds.php?result_type=getCounts&id="+item.id, 
        function(summary) {                         
            var likesCount = summary[0].like_info.like_count;                      
            var shareCount = summary[0].share_info.share_count;  

            // Approach 1
            item['likesCount'] =  likesCount;   
            item['shareCount'] =  shareCount;   
            // Approach 2
            $.extend ( item, { 'likesCount' : likesCount ,  'shareCount' : shareCount } );         
        });
});

push()替代方法是联系替代方法,它有机会同时使用jQueryjavascript


/*  * Extend Array extra json  * Example:   * $.extendArray([{a:1,b:2}],[{c:3,d:4}]) return -> [{a:1,b:2},{c:3,d:4}]  * $.extendArray([{a:1,b:2}],{c:3,d:4}) return -> [{a:1,b:2},{c:3,d:4}]  *  */ $.extend({   extendArray: function() {     return Array.prototype.concat.apply([], arguments);   } }); // Array inside json  var arr = $.extendArray([{a:1,b:2}],[{c:3,d:4},{e:4,f:5},{g:6,h:7}]); console.log(arr);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>


未经允许不得转载:编程自学网 » 使用jquery将新元素添加到JSON数组中