2016-03-18 71 views
2

私はNode.jsとJavaScriptを初めて使用しています。私はresults.jsonファイルを持っており、Webから画像を取り込むスクリプトの結果のログを記録しておきたい。しかし、私の現在のスクリプトは、既存の結果を上書きするだけです。 results.jsonをビルドまたは追加するにはどうすればよいのですか?その後の各結果はresults.jsonファイルに記録されますか?私はそれが有効なjsonであることを望みます。あなたがファイルに追加したい場合は、使用する必要があり、一般的にはnode.jsの既存のjsonファイルに追加するには

[ 
    "search result: currentSearchResult" 
] 
+0

可能な複製である[ノード内のファイルに追加する方法は?](http://stackoverflow.com/questions/3459476/how-to -append-to-a-file-in-node) – peteb

+0

結果ファイルに有効なjsonが含まれていますか?そうであれば、ファイルに追加するだけでは十分ではありません。 –

+0

@KevinBはい、それは理想的ですが正直なところ私は正しい用語が付いているかどうかわからないので、私は質問を編集しました。 – filmplane

答えて

5

あなたはファイルが有効なJSONになりたい場合は、あなたがあなたのファイルを開くJSONを解析し、配列に新しい結果を追加し、文字列に戻ってそれを変換し、それを再度保存する必要があります。

var fs = require('fs') 

var currentSearchResult = 'example' 

fs.readFile('results.json', function (err, data) { 
    var json = JSON.parse(data) 
    json.push('search result: ' + currentSearchResult) 

    fs.writeFile("results.json", JSON.stringify(json)) 
}) 
+0

json.push()??? –

+0

'json'は配列です。新しい項目を' .push'で配列に追加することができます。 –

+0

この例では、 "json"は配列ではありません –

0

fs.appendFile("results.json", json , function (err) { 
    if (err) throw err; 
    console.log('The "data to append" was appended to file!'); 
}); 

var currentSearchResult = someWebSearchResult 
var fs = require('fs'); 
var json = JSON.stringify(['search result: ' + currentSearchResult + ': ', null, "\t"); 
fs.writeFile("results.json", json); 

そしてresults.json:ここ

は、一般的な例です。ファイルを追加するとファイルが追加されます(存在しない場合)。

しかし、JSONデータを最初に追加する場合は、データを読み込んだ後にそのデータを上書きすることができます。

fs.readFile('results.json', function (err, data) { 
    var json = JSON.parse(data); 
    json.push('search result: ' + currentSearchResult);  
    fs.writeFile("results.json", JSON.stringify(json), function(err){ 
     if (err) throw err; 
     console.log('The "data to append" was appended to file!'); 
    }); 
}) 
+0

明確にするために、私はデータを上書きしたくありません。既存の結果に追加のデータを追加したい – filmplane

+0

@filmplane 最初の例は、有効なjsonを作成せずにデータを追加します。 2番目の例でもデータが追加されますが、json構造は破棄されません。 –

1

Bunyanを使用できます。それはの

シンプルかつ高速なJSONロギングライブラリ

関連する問題