2012-09-05 34 views
5

我有一個json文件employees.json,我想將數據追加到此對象。 該文件是這樣的:在javascript中附加json文件

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" }'+ 
']}'; 

我想追加:

  • 姓:邁克
  • 名字:車轍
  • 時間:10:00
  • 電子郵件:車轍@ bah.com
  • 電話:800-888-8888
  • image:images/mike。 jpg

to employee.json。

我該如何做到這一點?

+1

你可以解析它到一個JS對象,添加它,然後再次序列化成JSON? – gahooa

回答

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

我用'function add(){..}'把它包含在一個js文件中,並用'

>
+1

是的,代碼只用新的JSON數據覆蓋「txt」變量。您必須手動將其保存到您的文件。如果你使用的是node.js,它會使用fs.writeFile來完成 –

3

JSON代表JavaScript對象符號所以這可能僅僅是一個JavaScript對象

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

當你想添加一個對象,你可以簡單地做:

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