Skip to content

Instantly share code, notes, and snippets.

@3panda
Created January 7, 2019 08:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save 3panda/5da4c82459c66c838972f11bb9bd53a0 to your computer and use it in GitHub Desktop.
Save 3panda/5da4c82459c66c838972f11bb9bd53a0 to your computer and use it in GitHub Desktop.
非同期でNode.jsでJsonファイルを生成するコードサンプル

非同期でNode.jsでJsonファイルを生成するコードサンプル

サンプルコード

var fs = require('fs');
var jsonData = {
  isTest : true
}


function main(path, input) {
  return new Promise((res, rej) => {
    fs.readFile(path, 'utf8', (err, data) => {
      if (err) {
        if(err.code = `ENOENT`) {
          const jsonStr = JSON.stringify(input);
          fs.writeFile(path, jsonStr, (err) => {
            if (err) rej(err);
            if (!err) {
              console.log('Jsonの作成');
            }
          });

        } else {
          console.log(`エラー`);
          rej(err);
        }
      } else {
        console.log(`読み込み成功`);
        const response = JSON.parse(data);
        console.log(response);
        res(response);
      }
    });
  });
}

//使用例
const json = main(`test.json`, jsonData);
console.log(json);

書き出すJsonファイル

今回のサンプルだと「test.json」

test.json

{
    "isTest": true
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment