JSON stringify返回[object Object]

问题描述 投票:1回答:1

我已经阅读了其他一些这样的问题,但没有人能解决我的问题。

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

[]

我想在其中存储公寓列表。我从一个帖子请求中检索一个公寓,我正在使用node express(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字符串化来测试它,但它总是给我带来同样的东西

node.js json express
1个回答
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);
© www.soinside.com 2019 - 2024. All rights reserved.