我在比较JSON的编码和解码对象时遇到了问题
//Test data
var test_obj = {
test:'value',
t:3,
x:[0,5,3]
};
var t = JSON.stringify(test_obj);
var t_prime = JSON.parse(t);
您认为test_obj === t_prime
会返回true,
或者test_obj == t_prime
可能会返回true,但事实并非如此。
为什么会这样,以及如何验证我是否从javascript对象获取相同的对象到JSON?
答案 0 :(得分:2)
比较JS中的对象时,您要检查它们是否是相同的对象而不是相同的对象。
转换为JSON会将对象转换为字符串。从JSON转换会根据JSON数据创建 new 对象。
如果要检查两个对象是否相同,请参阅How do you determine equality for two JavaScript objects?。