我必須合併2個(最多6個)JSON對象。如何合併JS [或jQuery]中的幾個3D JSON對象
我得到這個代碼:http://jsfiddle.net/5Uz27/
但有了這個代碼,我只能合併對象的第一級,所以更深層次通常被覆蓋。檢查輸出。
我該如何解決這個問題?
我必須合併2個(最多6個)JSON對象。如何合併JS [或jQuery]中的幾個3D JSON對象
我得到這個代碼:http://jsfiddle.net/5Uz27/
但有了這個代碼,我只能合併對象的第一級,所以更深層次通常被覆蓋。檢查輸出。
我該如何解決這個問題?
jQuery.extend(true,original_object,extend_with);
使用jQuery,您可以使用$.extend()
做「深」 /遞歸對象合併,由true
傳遞作爲第一個參數。
以下是這可能會在你的榜樣工作:
// turn the strings into objects
var pref_array = $.map(json_holder, JSON.parse);
// add the deep=true argument
pref_array.unshift(true);
// now do a deep extend, passing the array as arguments
var prefs = $.extend.apply(null, pref_array);
這可能有點鈍(你可以使它更是這樣,但更嚴格,通過設置pref_array
到[true].concat($.map(json_holder, JSON.parse))
),但它避免了難看for
循環(這可能是個人喜好,我想)。
在這裏工作jsFddle:http://jsfiddle.net/e6bnU/