我需要在源对象和目标对象之间执行深层对象比较,这很适合我的用法,而且也很复杂。但是,如果可以比较对象的json表示形式,我可以简化事情。我的意思是,如果可以保证序列化后保留属性的顺序。换句话说,具有两个对象:
{ a: "a", b: "b" }
并且{ b: "b", a: "a" }
具有相同的内容,但它的JSON表示是不同的。
以下代码段可以描述两种情况:
第一个:
var json = '{"a":"a","b":"b"}';
var x = JSON.parse(json);
var y = JSON.parse(json);
var comparison = JSON.stringify(x) === JSON.stringify(y); // will it always be true?
第二个:
var json = '{"a":"a","b":"b"}';
var x = JSON.parse(json);
var y = JSON.parse(json);
delete y.a;
delete y.b;
y.b = "b"; // Notice the order is changed
y.a = "a"; // Notice the order is changed
var comparison = JSON.stringify(x) === JSON.stringify(y); // will it always be true?
问题:
就是这样,谢谢!
在这里,我分叉和修改JSON 3实现支持JSON内容与排序的对象键,希望对大家有所帮助别人https://github.com/lu4/jsons
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句