2011-09-02 34 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

我认为包含解决方案而不是链接到解决方案的答案更合适。 –

相关问题