2011-09-02 18 views
15

Düğüm sunucusunu çalıştırıyorum ve merak ettim - nesnelerini nasıl serileştirebilir ve bir dosyaya yazabilirim?Nesneleri Node.js'deki dosyalara nasıl kaydedebilirim?

+1

yerine bir DB isteyebilirsiniz, örneğin Kanepe, Mongo, MySQL. – mahemoff

+0

Bir dosyaya bir dize (veya bayt) yazmak mı yoksa herhangi bir nesneyi kaydetmek mi istiyorsunuz? – svick

+0

Yinelenen ** olarak işaretlenen soru aynı şeyi sormuyor. ** Bu soru gerçekten * serileştirme * *** ve *** bir dosyaya yazılıyor, sadece bir dosyaya yazmak değil! – corazza

cevap

37

Sen

var str = JSON.stringify(object) 

bir JSON dizeye sizin nesneleri seri için kullanabilir ve

var obj = JSON.parse(string) 

bir nesne olarak geri okumak için. Dize dosyaya yazılabilir. Yani, örneğin böyle bir nesne:

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); 

Yazma ve/dosyalarından burada kaplıdır okuma: http://nodejs.org/docs/v0.4.11/api/fs.html#fs.write

+4

Ayrıca bir json dosyası gerektirerek bir adımda okuyabilir ve ayrıştırabilirsiniz. Örneğin. var p = gerektirir ('savefile.json'); – Paul

+6

Ancak bu, nesnenin herhangi bir işlevini serileştirmez. – Rempargo

+1

Çözümün bir çözümden ziyade çözüm içermesinin daha doğru olduğunu düşündüm. –

İlgili konular