2017-05-09 3 views
0

私は、 "作成日と時間"という名前のいくつかのJsonファイルを持っています。私はjsonファイルの内容を配列unsing nodeに入れてください。JS

FIle1.json

File2のを意味し、すべてのJSONコンテンツの配列を作成します。 json 。 。 。 FIlen.json

はず[{FIle1.json(コンテンツ)}、{File2.json}、... {Filen.json}]

Iはノード内の初心者です。 JSON任意のヘルプは

は、だから私は自分のファイルを列挙し、今Icn'tがそれらを開くために成功したUPDATEをwelecomedされ、ここで怒鳴る私のコードです:

const testFolder = './report/'; 
const fs = require('fs'); 
fs.readdir(testFolder, (err, files) => { 
    files.forEach(file => { 
    console.log(file); 
    fs.readFile(file, {encoding: 'utf-8'}, function(err, data){ 
     if (err) { 
      console.log(err); 
      throw err; 
     } 
     console.log('result read: ' + data); 
    }); 
    }); 
}) 

そして、私は結果として得る:私はそれらを開きたいときに

revision_2017-04-19T16:26:33+02:00.json revision_2017-04-19T16:27:25+02:00.json

:私は、ファイルを一覧表示

{ [Error: ENOENT: no such file or directory, open 'revision_2017-04-19T16:26:33+02:00.json'] errno: -2, code: 'ENOENT',

誰もがこの問題を解決するための任意のアイデアを持っていますか?

は、あなたがしなければならない何をみんな

+0


敬具、それが役に立てば幸いNode.jsでファイルを開いて読み込む方法を知っていますか? – Widor

+0

ファイルを読み込んで開く方法はまだ分かりません。私はnode.jsには本当に新しいです –

+0

私はあなたがその場合に問題を解決すべきだと思います。ファイルを開いて読み込む方法が分かるまでは、JSON配列を連結することについては何の価値もありません。 – Widor

答えて

1

ありがとう、あなたのディレクトリ内のすべてのファイルを一覧表示し、それらのすべてを開いて、オブジェクトにその内容を置くことです。そうするには

、あなたがして、アレイ内のコンテンツを入れて、すべてのファイルを一覧表示し、開くためにfsモジュール(ファイルシステム)を使用することができます

const fs = require('fs'); 
let myArray = []; 
fs.readdir('./your_directory', (err, files) => { // return an array that contains the names of the files in 'your_directory' 
    files.forEach(file => { // loop over your files 
    fs.readFile(file, {encoding: 'utf-8'}, function(err, data){ // open each file 
     // the data variable represents your JSON file 
     myArray.push(JSON.parse(data)); 
    }); 
    }); 
}); 

そして、ここにいますが、あなたがしたいことJSメインスコープに戻って取得するので、あなたが約束を使用するか、次の方法を使用することができ、次のいずれか

  • をfs.readFileSync
  • fs.readdirSync

これらは前の関数(readFile/readdir)と同じ操作を実行しますが、同期して実行します。

は、あなたがどこまでを持っている?

関連する問題