JSON字符串是一种常用的数据格式,它可以用来描述复杂的数据结构。使用JSON字符串时,我们可能需要比较两个JSON字符串中的不同的key。以下是如何比较两个JSON字符串中不同key的方法。
// 例子1 let json1 = {"name": "Tom","age": 20}; let json2 = {"name": "Tom","gender": "male"}; let diff = {}; for (let key in json1) { if (json1.hasOwnProperty(key) && !json2.hasOwnProperty(key)) { diff[key] = json1[key]; } } console.log(diff); // 输出{"age": 20} // 例子2 let json3 = {"name": "Tom","age": 20}; let json4 = {"name": "Lucy","age": 20}; let diff2 = {}; for (let key in json3) { if (json3.hasOwnProperty(key) && json4.hasOwnProperty(key) && json3[key] !== json4[key]) { diff2[key] = [json3[key],json4[key]]; } } console.log(diff2); // 输出{"name": ["Tom","Lucy"]};
在例子1中,我们将json1和json2分别转换为JavaScript对象。我们遍历json1中的每个key,如果json1中的key不在json2中,则将这个key-value对添加到diff中。最终diff只包含json1与json2不同的key-value对,即{"age": 20}。
在例子2中,我们遍历json3和json4的每个key,同时这个key在两个JSON字符串中均存在,但是值不同的时候,则将这个key和两个value组成的数组添加到diff2中。最终diff2中只包含json3与json4不同的key-value对,即{"name": ["Tom","Lucy"]}。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。