こんにちは、特定のディレクトリにあるすべてのJSONファイルを使用してJSONファイルを作成しようとしています。私はそれがディレクトリに新しいファイルを追加するたびに更新されるようにします。だから、私はこのコードを私のファイルアップロードページの「投稿」部分に書いています。私は次のコードを持っています:NodeJSがカスタム構造を使用してJSONを連結する必要があります
for (i = 0; i < files; i++) {
console.log('Entered For loop');
console.log('Count:', count);
console.log('Count:', sensor);
fs.readFile('/uploads/' + bbbid + '/device'+count+ '.json' , 'utf8', function (err, data) {
if (err) throw err; // we'll not consider error handling for now
var obj = JSON.parse(data);
JSON.stringify(obj);
//console.log(myfiles[i]);
var ddl = require('/uploads/' + bbbid + '/device' +sensor+ '.json');
//var ddl = require('/uploads/' + bbbid + '/device' + count + '.json');
cddl = cddl + ", {" + obj.DDL.Sensor.Description.Verbose_Description + ":" + JSON.stringify(ddl) + "}"
JSON.stringify(cddl);
console.log(cddl);
count++;
sensor++;
console.log('Count:', count);
console.log('Sensor:', sensor);
});
}
私は、メソッドを開始する前にカウントとセンサーを1に初期化しました。出力は次のようになります。
Entered For loop
Count: 2
Count: 2
Entered For loop
Count: 2
Count: 2
forループでfs.readFileを使用できませんか?私はループがreadfile関数に入る前に終了すると思います。助けてください!
非同期ファイルの読み取りを使用していますが、readFileSync(https://nodejs.org/api/fs.html#fs_fs_readfilesync_file_options)を試してください – angrykoala