2012-09-05 21 views
5

Tengo un archivo json, employees.json, que me gustaría adjuntar datos a este objeto. El archivo tiene el siguiente aspecto:anexando al archivo json en javascript

var txt = '{"employees":[' + 
'{"firstName":"Jerry","lastName":"Negrell","time":"9:15 am","email":"[email protected]","phone":"800-597-9405","image":"images/jerry.jpg" },' + 
'{"firstName":"Ed","lastName":"Snide","time":"9:00 am","email":"[email protected]","phone":"800-597-9406","image":"images/ed.jpg" },' + 
'{"firstName":"Pattabhi","lastName":"Nunn","time":"10:15 am","email":"[email protected]","phone":"800-597-9407","image":"images/pattabhi.jpg" }'+ 
']}'; 

quisiera anexar:

  • nombre: Mike
  • lastName: Rut
  • tiempo: 10: 00 am
  • correo electrónico: rodera @ bah.com
  • teléfono: 800-888-8888
  • imagen: images/mike. jpg

a employee.json.

¿Cómo puedo lograr esto?

+1

¿Se puede analizarlo en un objeto JS, agrégalo y luego serialízalo en JSON nuevamente? – gahooa

Respuesta

9
var data = JSON.parse(txt); //parse the JSON 
data.employees.push({  //add the employee 
    firstName:"Mike", 
    lastName:"Rut", 
    time:"10:00 am", 
    email:"[email protected]", 
    phone:"800-888-8888", 
    image:"images/mike.jpg" 
}); 
txt = JSON.stringify(data); //reserialize to JSON 
+0

rodeo eso en un archivo js con 'function add() {..}' y lo llamé en html con '

' y no vi los valores agregados a los empleados .json file – Mike

+1

Sí, el código solo sobrescribe la variable "txt" con los nuevos datos JSON. Tendría que guardarlo en su archivo manualmente. Si está utilizando node.js, haría esto usando fs.writeFile –

3

JSON representa JavaScript Object Notation así que esto podría ser simplemente un objeto de javascript

var obj = {employees:[ 
    { 
     firstname:"jerry" 
     ... and so on ... 
    } 
]}; 

Cuando se desea añadir un objeto puede simplemente hacer:

object.employees.push({ 
    firstname: "Mike", 
    lastName: "rut" 
    ... and so on .... 
});