1

JSONnode.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;
}

このスクリプトは、主に次の質問から着想を得ています: jQuery を使用せずに node.js で JSON を結合またはマージする

よりクリーンなコードにするために、このスクリプトをライブラリ フォルダーに置き、メイン スクリプトでそれを必要とします。これは私がしたことです...

私のlib/JSON.jsファイル:

extends.merge = function(target){
    // The same script as above.
}

そして私のapp.jsファイルで:

JSON = require('./lib/JSON')

うまく機能しますが、現在、ネイティブの JSON メソッドは機能しません ( など.stringify)。次に、少し掘り下げて.prototype、次のように を使用して JSON を拡張しようとしました ( lib/JSON.js):

extends.prototype.merge = ...

しかし、次のエラーが発生します。

TypeError: Cannot set property 'merge' of undefined

問題を解決すると別の問題が発生するため、何をすべきか(そして何をしているのか)が本当にわかりません。

助けが必要です。

ありがとう。

4

0 に答える 0