【问题标题】:appending to json file in javascript在javascript中附加到json文件
【发布时间】:2012-09-05 22:17:00
【问题描述】:

我有一个 json 文件,employees.json,我想将数据附加到这个对象。 该文件如下所示:

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

我想追加:

  • 名字:迈克
  • 姓:Rut
  • 时间:上午 10:00
  • 电子邮件:rut@bah.com
  • 电话:800-888-8888
  • 图片:images/mike.jpg

到employee.json。

我将如何做到这一点?

【问题讨论】:

  • 能不能解析成JS对象,加进去,再序列化成JSON?

标签: javascript json


【解决方案1】:
var data = JSON.parse(txt);  //parse the JSON
data.employees.push({        //add the employee
    firstName:"Mike",
    lastName:"Rut",
    time:"10:00 am",
    email:"rut@bah.com",
    phone:"800-888-8888",
    image:"images/mike.jpg"
});
txt = JSON.stringify(data);  //reserialize to JSON

【讨论】:

  • 我用function add(){ .. }将它包围在一个js文件中,并用<form onsubmit="add()"><button>ADD</button></form>在html中调用它,但没有看到添加到employees.json文件中的值
  • 是的,代码只用新的 JSON 数据覆盖“txt”变量。您必须手动将其保存到您的文件中。如果您使用的是 node.js,它将使用 fs.writeFile
【解决方案2】:

JSON 代表 Javascript 对象表示法,因此这可能只是一个 javascript 对象

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

当你想添加一个对象时,你可以这样做:

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

【讨论】:

    猜你喜欢
    • 2015-07-02
    • 2020-04-12
    • 1970-01-01
    • 2019-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多