我试图将 JS 对象转换为 JSON。
JSON.stringify({a:1, toJSON: function(){}})
本机 JSON stringify 未按预期工作。JSON stringify 在内部执行 JS 对象中的 toJSON 函数。我已经覆盖了本机代码,如下所示,
// Adding try catch for non JSON support browsers.
try{
_jsonStringify = JSON.stringify;
JSON.stringify = function(object){
var fnCopy = object.toJSON;
object.toJSON = undefined;
var result = _jsonStringify(object);
object.toJSON = fnCopy;
return result;
};
}catch(e){}
它工作正常。还有其他更好的方法吗?本机代码中是否有任何特定原因在输入对象中执行toJSON函数?