2012-09-05 13 views
5

Ho un file json, employees.json, che mi piacerebbe aggiungere dati a questo oggetto. Il file è simile al seguente:accodando al file json in 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" }'+ 
']}'; 

Vorrei Aggiungi:

  • cognome: Mike
  • lastName: Rut
  • tempo: 10: 00 AM
  • email: carreggiata @ bah.com
  • telefono: 800-888-8888
  • immagine: immagini/mike. jpg

to employee.json.

Come potrei realizzare questo?

+1

Puoi analizzarlo in un oggetto JS, aggiungerlo e quindi serializzarlo nuovamente in JSON? – gahooa

risposta

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

lo racchiudo in un file js con 'function add() {..}' e lo ho chiamato in html con '

' e non ha visto i valori aggiunti ai dipendenti .json file – Mike

+1

Sì, il codice sovrascrive solo la variabile "txt" con i nuovi dati JSON. Dovresti salvarlo sul tuo file manualmente. Se stai usando node.js lo farebbe usando fs.writeFile –

3

JSON sta per JavaScript Object Notation quindi questo potrebbe essere semplicemente un oggetto JavaScript

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

Quando si desidera aggiungere un oggetto che si può semplicemente fare:

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