在日常的開發中,我們常常需要將兩個json對象合并成一個。而在fast-json-parse模塊中,提供了一個函數將兩個json對象合并:Object.assign。
const json1 = {"name":"Tom","age":18}; const json2 = {"gender":"male","height":1.8}; const mergedJson = Object.assign(json1, json2); console.log(mergedJson);
使用Object.assign函數可以將json2對象合并到json1對象中,并返回合并后的json對象。如果json1和json2中有相同的屬性,則json2的屬性值將覆蓋json1的屬性值。合并后的對象可以存入數據庫,或者用于其他場景的數據處理。
需要注意的是,Object.assign函數是淺拷貝,如果待合并的對象中有嵌套的對象,修改嵌套的對象將會影響到原始的對象。如果需要深拷貝,可以使用JSON.parse和JSON.stringify函數:
const json1 = {"name":"Tom","age":18,"location":{"province":"Hubei","city":"Wuhan"}}; const json2 = {"gender":"male","height":1.8,"location":{"province":"Hunan"}}; const mergedJson = JSON.parse(JSON.stringify(json1)); for(let key in json2){ if(json2.hasOwnProperty(key)){ if(typeof json2[key] === 'object'){ mergedJson[key] = JSON.parse(JSON.stringify(json2[key])); continue; } mergedJson[key] = json2[key]; } } console.log(mergedJson);
以上代碼使用JSON.parse和JSON.stringify函數進行了深拷貝,然后在for循環中遍歷json2對象,如果是對象,則進行深拷貝;否則直接將屬性合并到合并后的對象中。
總之,在fast-json-parse模塊中,使用Object.assign函數可以輕松地將兩個json對象合并成一個。如果需要深拷貝,則可以使用JSON.parse和JSON.stringify函數組合使用。