1. ホーム
  2. javascript

[解決済み] jQueryを使わずにnode.js上でJSONを結合・マージする。

2023-06-26 17:01:20

質問

複数の JSON のように

var object1 = {name: "John"};
var object2 = {location: "San Jose"};

ネストしているわけでもなんでもありません。ただ基本的に異なるフィールドです。私はそれらを1つの JSON node.js のようにします。

{name: "John", location: "San Jose"}

私は jQuery をうまく使うことができます。以下はブラウザでの動作例です。

http://jsfiddle.net/qhoc/agp54/

しかし、もし私がこれを node.js であれば、jQueryを読み込ませたくない(ちょっと使いすぎな気もするし、それに node.jsのjQuery は私の Windows マシンでは動作しません)。

と似たようなことをする簡単な方法はありますか? $.extend() を使わずに jQuery ?

どのように解決するのですか?

通常のループ?

function extend(target) {
    var sources = [].slice.call(arguments, 1);
    sources.forEach(function (source) {
        for (var prop in source) {
            target[prop] = source[prop];
        }
    });
    return target;
}

var object3 = extend({}, object1, object2);

これが基本的な出発点です。あなたは hasOwnProperty チェックのようなものを追加したり、複数のソースオブジェクトが同じ識別子を持つプロパティを持つ場合を処理するためのロジックを追加したりすることができます。

ここでは の動作例です。 .

サイド・ノート あなたが「JSON」と呼んでいるものは、実際には通常のJavaScriptオブジェクトです。JSONは、JavaScriptといくつかの構文を共有する、単なるテキスト形式です。