我想扩展JSON
node.js 的原生对象。在我的示例中,我能够对其进行扩展以添加一个merge(json1, json2)
合并 2 个 JSON 的函数:
JSON.merge = function(target) {
var sources = [].slice.call(arguments, 1);
sources.forEach(function (source) {
for (var prop in source) {
target[prop] = source[prop];
}
});
return target;
}
这个脚本很大程度上来自这个问题:Combine or merge JSON on node.js without jQuery
为了获得更简洁的代码,我将此脚本放在库文件夹中,并在我的主脚本中使用它。这就是我所做的...
我的lib/JSON.js
文件:
extends.merge = function(target){
// The same script as above.
}
在我的app.js
文件中:
JSON = require('./lib/JSON')
它运行良好,但现在原生 JSON 方法不起作用(如.stringify
)。然后我稍微挖掘了一下,并尝试使用 扩展 JSON .prototype
,如下所示(在 中lib/JSON.js
):
extends.prototype.merge = ...
但是得到以下错误:
TypeError: Cannot set property 'merge' of undefined
我真的不知道该做什么(以及我在做什么),因为解决一个问题会导致另一个问题。
请,需要帮助。
谢谢。