Javascript - 我们可以覆盖JSON.parse函数

时间:2016-07-25 06:31:28

标签: javascript

有没有办法可以覆盖JSON.parse函数?

如果是,请向我提供覆盖它的指示。

3 个答案:

答案 0 :(得分:3)

是的,你可以

Object.getOwnPropertyDescriptor(JSON, 'parse')
> {writable: true, enumerable: false, configurable: true}

喜欢这个

(function(JSON) {
   var oldParse = JSON.parse;

   JSON.parse = function newParse() {

   } 
}(JSON))

答案 1 :(得分:1)

以下应该可以解决问题:

JSON.parse = function(str) {
    return { 'foo': 'bar' };
};

var res = JSON.parse('aaaa');
console.log(res);

答案 2 :(得分:1)

这对你有帮助

JSON.prototype.parse= function(str)
{
    // your custom code should be here
}

或者您可以使用Custom JSON类来实现实际的JSON功能

function CustomJSON() {};
CustomJSON.prototype = new JSON;
CustomJSON.prototype.__super__ = JSON;
CustomJSON.prototype.parse= function(str) {
    console.log('called CustomJSON.parse');

    // calling JSON.parse();
    this.__super__.prototype.parse.call(this);
};