2011-09-02 63 views
15

我正在運行一個節點服務器,我想知道 - 我如何序列化對象並將它們寫入文件?如何將對象保存到Node.js中的文件中?

+1

您可能需要一個DB代替,例如沙發,Mongo,MySQL。 – mahemoff

+0

你想寫一個字符串(或字節)到一個文件,或者你想保存任何對象嗎? – svick

+0

標記爲重複的問題**並不是要求相同的事情。**這個問題實際上是關於*序列化* ***和***寫入文件,而不僅僅是寫入文件! – corazza

回答

37

您可以使用

var str = JSON.stringify(object) 

序列化你的對象一個JSON字符串和

var obj = JSON.parse(string) 

讀回作爲一個對象。該字符串可以寫入文件。因此,例如像這樣的對象:

var p = new Foo(); 
p.Bar = "Terry" 
var s = JSON.stringify(p) 
// write s to file, get => { "Bar" : "Terry" } 
// read s from file and turn back into an object: 
var p = JSON.parse(s); 

的寫入和讀取/從文件中被這裏介紹:http://nodejs.org/docs/v0.4.11/api/fs.html#fs.write

+4

您還可以通過需要一個json文件一步讀取和解析。例如var p = require('savefile.json'); – Paul

+6

但是,這並沒有對該對象的任何函數進行序列化。 – Rempargo

+1

我認爲包含解決方案而不是鏈接到解決方案的答案更合適。 –

相關問題