JSON字符串化返回[object Object]

时间:2019-04-29 21:09:16

标签: node.js json express

我已经读过其他一些这样的问题,但是没有人能正确解决我的问题。

我有一个空的json文件,名为apartments.json:

[]

我想在其中存储公寓清单。我从发布请求中检索了一个公寓,并且正在使用节点快递(v8.10)。这是代码:

router.post('/', (req, res, next) => {

   let apa = {
       id: req.body.id,
       address: req.body.address
  }

  let apartments = require('path/to/json');
  apartments.push(apa);
  let str = JSON.stringify(apartments);
  console.log(str);
)};

我想在更新后将新内容存储回apartments.json,问题是stringify()返回[object Object]。我已经尝试对公寓和apa进行分类,以进行测试,但这总是给我同样的东西

1 个答案:

答案 0 :(得分:1)

对于将要遇到相同问题的每个人,这就是我解决此问题的方式:

router.post('/', (req, res, next) => {

  let apa = {
      id: req.body.id,
      address: req.body.address
 }

 let apas = [];
 let apartments = require('path/to/json');
 apas.push(apa);
 let str = "[ ";
 for(let i = 0; i < apas.length - 1; i++) {
    strAlt += '{"id": ' + apas[i].id + ', "name": "' + apas[i].name + '"}, ';
}
strAlt += '{"id": ' + apas[apas.length - 1].id + ', "name": "' + apas[apas.length - 1].name + '"} ] ';
console.log("stringify manuale: " + strAlt);
fs.writeFile(__dirname + "/../db/apartments.json", strAlt, (err) => {
    if(err) throw err;
    console.log("file saved!");
});
console.log(apartments);
res.status(200).send(apa);
相关问题