2011-09-02 39 views
15

Estoy ejecutando un servidor de nodo y me preguntaba: ¿cómo puedo serializar objetos y escribirlos en un archivo?¿Cómo puedo guardar objetos en archivos en Node.js?

+1

Es posible que desee una base de datos en lugar, por ejemplo, Couch, Mongo, MySQL. – mahemoff

+0

¿Desea escribir una cadena (o bytes) en un archivo o desea guardar un objeto? – svick

+0

La pregunta marcada como duplicada ** no está haciendo lo mismo. ** Esta pregunta es realmente sobre * serialización * *** y *** escribir en un archivo, ¡no solo escribir en un archivo! – corazza

Respuesta

37

Puede utilizar

var str = JSON.stringify(object) 

para serializar los objetos a una cadena JSON y

var obj = JSON.parse(string) 

Para leer de nuevo como un objeto. La cadena se puede escribir en el archivo. Así, por ejemplo, un objeto como éste:

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

escritura y lectura a/de archivos está cubierto aquí: http://nodejs.org/docs/v0.4.11/api/fs.html#fs.write

+4

También puede leer y analizar en un solo paso requiriendo un archivo json. p.ej. var p = require ('savefile.json'); – Paul

+6

Pero esto no serializa ninguna función del objeto. – Rempargo

+1

Pensé que era más apropiado que la respuesta incluyera la solución en lugar de vincularla a una solución. –

Cuestiones relacionadas