【问题标题】:update a json in node更新节点中的 json
【发布时间】:2019-04-30 23:00:43
【问题描述】:
{
  aps: []
}

我是这样读的:

let apartments = require("path to json file);
apartments.aps.push(apa); // apa is a valid object
fs.writeFile("path", JSON.stringify(apartments));

aps 将包含这样的 objs

{ "id":0, "address": "something"}

当我推入我的 json 文件时,我看到了

[object Object]

【问题讨论】:

  • 在节点中,您可以简单地使用const data = require('./yourJsonFile'),只要yourJsonFile 是有效的json,nodejs 就会为您解析它的对象
  • 好的,现在可以了,我可以推送到 aps 但要保存文件怎么办?
  • what about to save the file? 字符串化后手动fs.writeFile
  • 现在我的文件包含 [object Object]

标签: node.js json express


【解决方案1】:

因为apas 是一个字符串。 JSON 是一种表示 JavaScript 对象的文本格式(因此得名);您需要先解析它(使用合适的库),然后才能将其用作对象。

【讨论】:

  • 当我做 JSON.parse(data);在控制台上我看到一个错误:解析不是函数
  • 我做了 const JSON = require("nodemon/lib/utils");
  • JSON 在 nodejs 中原生可用。你不需要任何东西。
  • 如果我不需要它,我有一个未解决的变量问题
  • 我有 8.10 版本
【解决方案2】:

这是一个简单的工作示例:

const fs = require('fs');
const data = require('./message.json');
// add new value
data.new = 'new value';
fs.writeFile('message.json', JSON.stringify(data), (err) => {
  if (err) throw err;
  console.log('The file has been saved!');
});

原创内容:

{"a":1,"b":2}

修改内容:

{"a":1,"b":2,"new":"new value"}

【讨论】:

    猜你喜欢
    • 2021-09-26
    • 2019-12-11
    • 2020-03-22
    • 1970-01-01
    • 1970-01-01
    • 2017-09-20
    • 1970-01-01
    • 2020-04-29
    • 2018-05-27
    相关资源
    最近更新 更多