2016-04-03 19 views
0

ユーザー詳細を認証に使用できるように、登録フォームのユーザー詳細をjsonファイルに追加しようとしています。問題は、私は私は私がグーグルで発見し、何がこれまで働いていないさまざまな方法を試してみました、これまでされており、オブジェクトにノードjsのメソッドプッシュがありません

var filename= "./user_login.json"; 
var contents = fs.readFileSync(filename); 
var jsonContent = JSON.parse(contents); 
//sample data 
var data =[ 
{ 
    "try" : "till success" 
} 
]; 

jsonContent.push(data); 

fs.writeFileSync(filename,jsonContent); 

を試してみましたが、正しいformat.TheコードでJSONファイルにできアペンドないですです。データを正しい形式で保存したい。ほとんどの時間私はオブジェクトのようなこのエラーを持っていないプッシュ機能を持っています。では、それに代わるものは何ですか?私が探しています 正しい形式は、

[ 
    user1-details : { 
     //user1 details 
    }, 

    user2-deatils : { 

    }//So on 
] 
+0

なぜJSONファイルの読み込みと解析に 'require( './user_login.json')'を使用しないのですか? –

答えて

2

オブジェクトにはプッシュ機能を持っていない、配列が行います。あなたのjsonも無効です。配列:

[ // here 
    { 
     //user1 details 
    }, 

    { 
     //So on 
    } 
] // and here 

ここでpush()を使用できます。あなたはまた戻ってファイルに書き込む前に、オブジェクトを文字列化する必要が

var data = { 
    "try" : "till success" 
}; 

:しかし、dataはあなたのJSONファイル内のオブジェクトの配列をしたい場合、それは単純なオブジェクトである必要があり、配列である

fs.writeFileSync(filename, JSON.stringify(jsonContent)); 

あなたはnode-json-dbのようなものを使用することを検討すべきであるが、それはファイルを読み出し/書き込みの世話をする、それはあなたが機能を(save()push() ...)ヘルパーできます。

関連する問題