Для удобства я написал простой toJSON
прототип, для обработки JSON, что я знаю, чтобы быть в безопасности:Объект JSON! = Объект JavaScript?
String.prototype.toJSON = function() {
return JSON.parse(this.valueOf());
};
Я использую его в тестировании своих веб-сервисов. К сожалению, даже с помощью этого простого теста:
var v0 = '{"echo":"hello_world"}'.toJSON(), v1 = {"echo": "hello_world"};
Он терпит неудачу:
console.log(v0 == v1); // false
console.log(v0 === v1); // false
console.log(v0.echo == v1.echo); // true
console.log(v0.echo === v1.echo); // true
Что я не знаю о JavaScript, который вызывает эту проблему?
«toJSON» на самом деле делает «fromJSON». – deceze
см. Http://stackoverflow.com/questions/201183/how-do-you-determine-equality-for-two-javascript-objects –
Возможное дублирование: http://stackoverflow.com/questions/1068834/object- compare-in-javascript – Eraden