三种方法合并两个JSON对象

一、方法一:Object.assign()方法合并

// 定义两个JSON对象
const json1 = { "name": "张胜男", "sex": '男', "age": 23 };
const json2 = { "city": "武汉", "sex": '女', "age": 23 };
 
// 使用Object.assign合并
const mergedJson = Object.assign({}, json1, json2);
 
console.log(mergedJson);
// 输出: { name: '张胜男', "sex": '女', age: 23, city: '武汉' }
// 注意:如果json2中的属性在json1中已存在,则json2中的值会覆盖json1中的值

二、方法二:ES6展开运算符(...)。

// 定义两个JSON对象
const json1 = { "name": "张胜男", "age": 30 };
const json2 = { "city": "武汉", "age": 35 };
 
// 使用展开运算符合并
const mergedJson = { ...json1, ...json2 };
 
console.log(mergedJson);
// 输出: { name: '张胜男', age: 35, city: '武汉' }

三、方法三:复杂情况下可以手动合并,比如有条件的合并

// 定义两个JSON对象
const json1 = { "name": "张胜男", "age": 25 };
const json2 = { "city": "武汉", "age": 30, "profession": "开发者" };
 
// 手动合并
const mergedJson = {
  name: json1.name || json2.name, // 使用逻辑或来选择第一个非空值
  age: json1.age || json2.age,    
  city: json2.city,                // 直接使用json2的city值,因为它不存在于json1中
  profession: json2.profession     // 直接使用json2的profession值
};
 
console.log(mergedJson);
// 输出: { name: '张胜男', age: 25, city: '武汉', profession: '开发者' }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值