Json字符串是一种轻量级的数据交换格式,在前端开发中被广泛应用。但我们在处理Json数据时,常常需要比较它们是否相等。这里介绍两种方法来equit比较两个Json字符串。
方法一:使用JSON.parse()将Json字符串转化为对象,再使用JSON.stringify()将对象转化为字符串,比较两个字符串是否相等。
let json1 = '{"name":"张三","age":18}'; let json2 = '{"name":"李四","age":20}'; let obj1 = JSON.parse(json1); let obj2 = JSON.parse(json2); let str1 = JSON.stringify(obj1); let str2 = JSON.stringify(obj2); if (str1 === str2) { console.log('两个Json字符串相等'); } else { console.log('两个Json字符串不相等'); }
方法二:自定义方法遍历Json字符串中的每一个属性,比较属性名和属性值是否相等。
function equitJson(jsonStr1,jsonStr2) { let obj1 = JSON.parse(jsonStr1); let obj2 = JSON.parse(jsonStr2); for (let prop in obj1) { if (obj1.hasOwnProperty(prop)) { if (obj1[prop] !== obj2[prop]) { return false; } } } for (let prop in obj2) { if (obj2.hasOwnProperty(prop)) { if (obj2[prop] !== obj1[prop]) { return false; } } } return true; } let json1 = '{"name":"张三","age":18}'; let json2 = '{"name":"张三","age":18}'; if (equitJson(json1,json2)) { console.log('两个Json字符串相等'); } else { console.log('两个Json字符串不相等'); }
以上两种方法都可以用来比较两个Json字符串是否相等。在实际开发中,我们可以根据需要选择不同的方法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。