javascript - 替换 JSON 文件中的整个数据 block

标签 javascript node.js json express

我正在寻找一种方法来替换 JSON 文件中的一堆数据,而不替换它的其他部分:

{
  "task": [
    {
      "id": 5,
      "title": "dave",
      "description": "test"
    },
    {
      "id": 6,
      "title": "fddsfsd",
      "description": "fsdfsd"
    },
    {
      "id": 7,
      "title": "fddsfssdfsdfd",
      "description": "fsdfsd"
    },
    {
      "id": 8,
      "title": "fddsfssdfsdfd",
      "description": "fsdfsd"
    }
  ],
  "compteur": [
    {
      "id": 8
    }
  ]
}

我设法获取变量中“任务”括号之间的所有内容。 我当前的问题是我只需要替换括号内的内容,而不影响文件的其他部分。

这是我用于检索“任务”数据的代码:

    function RemoveNode(idToDelete) {
      return jsonData.task.filter(function(emp) {
        if (emp.id == idToDelete) {
          return false;
        }
        return true;
      });
    }
    var newData = RemoveNode(idToDelete);
    arr1 = JSON.stringify(newData, null, 4);
    console.log("arr1", arr1);

console.log 给了我:

arr1 [
    {
        "id": 5,
        "title": "dave",
        "description": "test"
    },
    {
        "id": 6,
        "title": "fddsfsd",
        "description": "fsdfsd"
    },
    {
        "id": 8,
        "title": "fddsfssdfsdfd",
        "description": "fsdfsd"
    }
]

我实际上需要在原始 JSON 文件中替换它,但我完全不知道如何实现这一点。

最佳答案

您可以使用展开运算符,这将使用新的过滤数据覆盖任务数据

const removeNode = (idToDelete) => 
   jsonData.task.filter((emp) => emp.id != idToDelete);


const newData = RemoveNode(idToDelete);
const updatedJSONData = {...jsonData, task: newData};

关于javascript - 替换 JSON 文件中的整个数据 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60483282/

相关文章:

javascript - 如何将返回的 Firebase 元素数组绑定(bind)到我的 AngularJS View (通过 Controller )?

node.js - 无法使用 npm 和 shell 下载 Node 包

c++ - 如何将 JsonObject 转换为 JSON 字符串?

javascript - 屏幕旋转时 WKWebView CSS 渲染问题

javascript - 如何将 javascript 中的 jinja 表达式与转义序列字符串进行比较?

javascript - 该对象的 key 以什么格式存储? %00*%00_数据

javascript - 捆绑和混淆 Common.JS 项目的好方法?

node.js - 谷歌应用程序引擎如何控制实例nodejs的数量

json - Twitter Rest API 调用 lookup.json 总是给出代码 17 错误

php - 将 AJAX HTML 响应读取到 JavaScript 数组中