node.jsを使用して複数のjsonのオブジェクトを1つのjsonファイルにマージする方法

ジャック

特定のオブジェクトをマージして新しいjsonファイルに保存したい複数のjsonファイルがあります。例:

one.json
two.json
...

各jsonファイルは次のようになります。

one.json

{
  "passed": 1,
  "fixtures": [
    {
      "name": "Getting Started one",
      "path": "testOne.ts"
    }
  ]
}

two.json

{
  "passed": 1,
  "fixtures": [
    {
      "name": "Getting Started two",
      "path": "testTwo.ts"
    }
  ]
}

したがって、私の最終的なjsonファイルは次のようになります。

final.json

{
    "passed": 2,
    "fixtures": [{
            "name": "Getting Started one",
            "path": "testOne.ts"
        },
        {
            "name": "Getting Started two",
            "path": "testTwo.ts"
        }
    ]
}

このようにマージする簡単な方法は何か考えがありますか。

ノード:jsonファイルは2つだけではなく多数あるため、拡張子がjsonのすべてのファイルを見つけることをお勧めします。これはシェルスクリプトまたはnode.jsで行うとよいでしょう。

ありがとう。

kgangadhar

Promiseを使用してこのようなことを行うことができます:

const fs = require('fs');
const data = {
    "passed": 0,
    "fixtures": []
};
const dir = `${__dirname}/data/`;
fs.readdir(dir, (err, files) => {
    return new Promise((resolve, reject) => {
        if (err) reject(err);
        files.forEach(file => {
           console.log(file);
           let content = require(`${dir}${file}`);
           data['passed'] += content.passed;
           data['fixtures'] = data['fixtures'].concat(content['fixtures']);
        });
        resolve(data);
    }).then(data => {
        fs.writeFileSync('./final.json',JSON.stringify(data));
    });
})

Async / Awaitを使用すると、次のように実行できます。

const fs = require('fs');
const path = require('path');
const dir = path.join(__dirname, 'data');

let finalContent = { "fixtures": [], "passed": 0 };
const read_directory = async dir =>
    fs.readdirSync(dir).reduce((finalContent, file) => {
        filePath = path.join(dir, file);
        console.log(filePath);
        let content = require(filePath);
        finalContent.passed += content.passed;
        finalContent.fixtures = finalContent.fixtures.concat(content.fixtures);
        return finalContent;
    }, { "passed": 0, "fixtures": [] });

read_directory(dir).then(data => {
    fs.writeFileSync('./final.json', JSON.stringify(data));
});

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Node.jsを使用してJSONオブジェクトの配列を含むファイルを解析する方法

分類Dev

Node.jsを使用して非常に単純なJSファイル内のオブジェクトを編集する方法

分類Dev

Node-Redで2つのJSONオブジェクトをマージする

分類Dev

Node-Redで2つのJSONオブジェクトをマージする

分類Dev

node.jsで異なる形式の複数のオブジェクトをマージします

分類Dev

Node.jsを使用して、一意の_idで複数のMongoDBオブジェクトを更新する

分類Dev

Nodeを使用してファイルを読み取ると、読み取りコードの外部に空のオブジェクトが返されます

分類Dev

Node.js CSV-parser --columns false->複数の配列を1つのオブジェクトにグループ化しますか?

分類Dev

node.jsを使用して、複数のJSONファイルからURLとページのコンテンツを動的に生成します

分類Dev

AWS SDK for Node.jsを使用して、Amazon S3のすべてのオブジェクトを1つのプレフィックスから別のプレフィックスにコピー/移動する方法

分類Dev

node.jsを使用して、既存の静的Webサイト構造をJSONオブジェクトにインポートします

分類Dev

MongoDBとNode.jsを使用して複数のオブジェクトをアップサートするにはどうすればよいですか?

分類Dev

node js apiを使用してJavaScriptファイルオブジェクトをCloudinaryにアップロードする方法は?

分類Dev

Node.jsのJSONオブジェクトでmySQLテーブルを更新する方法は?

分類Dev

node.jsのリクエストを使用してマルチパートformDataでオブジェクトを送信する方法

分類Dev

Node.jsでJSONオブジェクトの値を更新する方法

分類Dev

Node.jsを使用してJSDocで1つのファイルから別のファイルにtypedefを「インポート」する方法

分類Dev

node.jsを使用してJSONオブジェクトを取得する

分類Dev

Node.jsを使用してJSONオブジェクトを印刷する

分類Dev

node-javaモジュールを使用して.jsファイル内に独自のJavaクラスをインポートする方法は?

分類Dev

複数のnode.jsファイルにグローバルモジュールを設定する方法

分類Dev

Node.jsの既存のオブジェクト配列にJSONデータを追加する

分類Dev

Node JSのGMモジュールを使用して、複数ページのtiffファイルの特定のページを回転させる

分類Dev

Nodeサーバーを介してJSONオブジェクトをファイルに書き込むにはどうすればよいですか?

分類Dev

Node.jsの使用保持するキーを含む配列またはオブジェクトを含む個別の構成ファイルからJSONドキュメントをフィルタリングするにはどうすればよいですか?

分類Dev

Node.jsを使用してオブジェクトをファイルに書き込む

分類Dev

Nodeプロジェクトに複数のBigQueryJSON認証情報ファイルを追加する

分類Dev

Node js RestServiceはデータを特定のオブジェクトjsonに保存します

分類Dev

Node.JSを使用してJSONオブジェクトデータをMySQLに挿入します

Related 関連記事

  1. 1

    Node.jsを使用してJSONオブジェクトの配列を含むファイルを解析する方法

  2. 2

    Node.jsを使用して非常に単純なJSファイル内のオブジェクトを編集する方法

  3. 3

    Node-Redで2つのJSONオブジェクトをマージする

  4. 4

    Node-Redで2つのJSONオブジェクトをマージする

  5. 5

    node.jsで異なる形式の複数のオブジェクトをマージします

  6. 6

    Node.jsを使用して、一意の_idで複数のMongoDBオブジェクトを更新する

  7. 7

    Nodeを使用してファイルを読み取ると、読み取りコードの外部に空のオブジェクトが返されます

  8. 8

    Node.js CSV-parser --columns false->複数の配列を1つのオブジェクトにグループ化しますか?

  9. 9

    node.jsを使用して、複数のJSONファイルからURLとページのコンテンツを動的に生成します

  10. 10

    AWS SDK for Node.jsを使用して、Amazon S3のすべてのオブジェクトを1つのプレフィックスから別のプレフィックスにコピー/移動する方法

  11. 11

    node.jsを使用して、既存の静的Webサイト構造をJSONオブジェクトにインポートします

  12. 12

    MongoDBとNode.jsを使用して複数のオブジェクトをアップサートするにはどうすればよいですか?

  13. 13

    node js apiを使用してJavaScriptファイルオブジェクトをCloudinaryにアップロードする方法は?

  14. 14

    Node.jsのJSONオブジェクトでmySQLテーブルを更新する方法は?

  15. 15

    node.jsのリクエストを使用してマルチパートformDataでオブジェクトを送信する方法

  16. 16

    Node.jsでJSONオブジェクトの値を更新する方法

  17. 17

    Node.jsを使用してJSDocで1つのファイルから別のファイルにtypedefを「インポート」する方法

  18. 18

    node.jsを使用してJSONオブジェクトを取得する

  19. 19

    Node.jsを使用してJSONオブジェクトを印刷する

  20. 20

    node-javaモジュールを使用して.jsファイル内に独自のJavaクラスをインポートする方法は?

  21. 21

    複数のnode.jsファイルにグローバルモジュールを設定する方法

  22. 22

    Node.jsの既存のオブジェクト配列にJSONデータを追加する

  23. 23

    Node JSのGMモジュールを使用して、複数ページのtiffファイルの特定のページを回転させる

  24. 24

    Nodeサーバーを介してJSONオブジェクトをファイルに書き込むにはどうすればよいですか?

  25. 25

    Node.jsの使用保持するキーを含む配列またはオブジェクトを含む個別の構成ファイルからJSONドキュメントをフィルタリングするにはどうすればよいですか?

  26. 26

    Node.jsを使用してオブジェクトをファイルに書き込む

  27. 27

    Nodeプロジェクトに複数のBigQueryJSON認証情報ファイルを追加する

  28. 28

    Node js RestServiceはデータを特定のオブジェクトjsonに保存します

  29. 29

    Node.JSを使用してJSONオブジェクトデータをMySQLに挿入します

ホットタグ

アーカイブ