2012-09-05 3 views
5

J'ai un fichier json, employees.json, que je voudrais ajouter des données à cet objet. Le fichier ressemble à ceci:ajouter au fichier 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" }'+ 
']}'; 

Je voudrais append:

  • prenom: Mike
  • lastName: Rut
  • Heure: 10: 00 heures
  • email: ornière @ bah.com
  • téléphone: 800-888-8888
  • image: images/micro. jpg

à employee.json.

Comment est-ce que j'accomplirais ceci?

+1

Pouvez-vous l'analyser dans un objet JS, ajoutez-le, puis sérialisez-le dans JSON à nouveau? – gahooa

Répondre

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

Je entoure cela dans un fichier js avec 'function add() {..}' et l'appelle en html avec '

' et n'a pas vu les valeurs ajoutées aux employés Fichier .json – Mike

+1

Oui, le code écrase uniquement la variable "txt" avec les nouvelles données JSON. Vous devez l'enregistrer manuellement dans votre fichier. Si vous utilisez node.js, il le ferait en utilisant fs.writeFile –

3

JSON est synonyme de notation objet Javascript donc cela pourrait simplement être un objet javascript

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

Lorsque vous souhaitez ajouter un objet que vous pouvez simplement faire:

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