热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何使用Node.js在JSON文件中添加数据?

如何使用Node.js在JSON文件中添加数据?原文:h

如何使用 Node.js 在 JSON 文件中添加数据?

原文:https://www . geesforgeks . org/how-add-data-in-JSON-file-use-node-js/

【JSON】代表 Javascript 对象符号。它是应用程序之间交换信息最简单的方式之一,通常被网站/应用程序接口用来通信。关于 Node.js 的入门,请参考这篇文章。

首先,您需要确保您期望的 JSON 文件不会消耗大量内存。对于估计消耗约 500 兆字节的数据,这种方法效率不高,您应该考虑使用数据库系统。


  1. Node.js 有一个名为 fs 的内置模块,它代表文件系统,使用户能够以建模的方式与文件系统交互。要使用它,请在服务器程序中键入下面的代码。

    js
    const fs = require('fs');

    fs 模块的文档可以在 这里 找到。


  2. 我们可以从创建一个 JSON 文件开始,对于这个例子,它将包含一个 id、一个名字和一个城市。请注意,您可以拥有任意多的键值对,但是我们首先使用三个。

    js
    {
    "id": 1,
    "name": "John",
    "city": "London"
    }

    让我们将这个 JSON 文件命名为 data.json。
    3. 现在我们有了一个可以写入的 JSON 文件,首先我们将创建一个 Javascript 对象来访问该文件。为此,我们将使用fs . readfilesync(),它将为我们提供原始格式的数据。为了得到 JSON 格式的数据,我们将使用 JSON.parse() 。因此,我们服务器端的代码如下所示:

    js
    var data = fs.readFileSync('data.json');
    var myObject= JSON.parse(data);


  3. 现在我们已经准备好了对象,让我们假设我们有一个要添加的键值对数据:

    js
    let newData = {
    "country": "England"
    }

    我们需要使用我们的对象(即 myObject)来添加这些数据。我们将通过使用。push()方法如下:

    js
    myObject.push(newData);


  4. 要将新数据写入我们的 JSON 文件,我们将使用 fs.writeFile() ,它将 JSON 文件和要添加的数据作为参数。请注意,在写入对象之前,我们必须先将它转换回原始格式。这将使用 JSON.stringify() 方法来完成。

    ```js
    var newData = JSON.stringify(myObject);
    fs.writeFile('data.json', newData, err => {
    // error checking
    if(err) throw err;

    console.log("New data added");

    });
    ```

    现在,我们的 data.json 文件如下所示:

    js
    {
    "id": 1,
    "name": "John",
    "city": "London",
    "country": "England"
    }


示例:上面示例的 index.js 代码。

index.js

// Requiring fs module
const fs = require("fs");
// Storing the JSON format data in myObject
var data = fs.readFileSync("data.json");
var myObject = JSON.parse(data);
// Defining new data to be added
let newData = {
  country: "England",
};
// Adding the new data to our object
myObject.push(newData);
// Writing to our JSON file
var newData2 = JSON.stringify(myObject);
fs.writeFile("data2.json", newData2, (err) => {
  // Error checking
  if (err) throw err;
  console.log("New data added");
});

输出:


推荐阅读
  • 在处理木偶评估函数时,我发现可以顺利传递本机对象(如字符串、列表和数字),但每当尝试将JSHandle或ElementHandle作为参数传递时,函数会拒绝接受这些对象。这可能是由于这些句柄对象的特殊性质导致的,建议在使用时进行适当的转换或封装,以确保函数能够正确处理。 ... [详细]
  • C++ 异步编程中获取线程执行结果的方法与技巧及其在前端开发中的应用探讨
    本文探讨了C++异步编程中获取线程执行结果的方法与技巧,并深入分析了这些技术在前端开发中的应用。通过对比不同的异步编程模型,本文详细介绍了如何高效地处理多线程任务,确保程序的稳定性和性能。同时,文章还结合实际案例,展示了这些方法在前端异步编程中的具体实现和优化策略。 ... [详细]
  • 利用 JavaScript 和 Node.js 验证时间的有效性
    本文探讨了如何使用 JavaScript 和 Node.js 验证时间的有效性。通过编写一个 `isTime` 函数,我们可以确保输入的时间格式正确且有效。该函数利用正则表达式匹配时间字符串,检查其是否符合常见的日期时间格式,如 `YYYY-MM-DD` 或 `HH:MM:SS`。此外,我们还介绍了如何处理不同时间格式的转换和验证,以提高代码的健壮性和可靠性。 ... [详细]
  • 重要知识点有:函数参数默许值、盈余参数、扩大运算符、new.target属性、块级函数、箭头函数以及尾挪用优化《深切明白ES6》笔记目次函数的默许参数在ES5中,我们给函数传参数, ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • 本文详细介绍了 PHP 中对象的生命周期、内存管理和魔术方法的使用,包括对象的自动销毁、析构函数的作用以及各种魔术方法的具体应用场景。 ... [详细]
  • poj 3352 Road Construction ... [详细]
  • 本文介绍了如何使用 Node.js 和 Express(4.x 及以上版本)构建高效的文件上传功能。通过引入 `multer` 中间件,可以轻松实现文件上传。首先,需要通过 `npm install multer` 安装该中间件。接着,在 Express 应用中配置 `multer`,以处理多部分表单数据。本文详细讲解了 `multer` 的基本用法和高级配置,帮助开发者快速搭建稳定可靠的文件上传服务。 ... [详细]
  • 深入解析Struts、Spring与Hibernate三大框架的面试要点与技巧 ... [详细]
  • 在处理大规模数据数组时,优化分页组件对于提高页面加载速度和用户体验至关重要。本文探讨了如何通过高效的分页策略,减少数据渲染的负担,提升应用性能。具体方法包括懒加载、虚拟滚动和数据预取等技术,这些技术能够显著降低内存占用和提升响应速度。通过实际案例分析,展示了这些优化措施的有效性和可行性。 ... [详细]
  • 本文介绍了一种将 JavaScript 中的数字转换为 Excel 列字母标识的方法。通过使用字符编码和数学运算,该方法能够高效地将数字映射到对应的 Excel 列名。具体实现中,利用了字符 'A' 和 'Z' 的 Unicode 编码值,并结合字符串拼接技术,确保生成的列名准确无误。这种方法不仅适用于常规的列索引转换,还能处理超过 26 列的情况,适用于各种复杂场景。 ... [详细]
  • 本文将继续探讨 JavaScript 函数式编程的高级技巧及其实际应用。通过一个具体的寻路算法示例,我们将深入分析如何利用函数式编程的思想解决复杂问题。示例中,节点之间的连线代表路径,连线上的数字表示两点间的距离。我们将详细讲解如何通过递归和高阶函数等技术实现高效的寻路算法。 ... [详细]
  • 本文详细探讨了使用纯JavaScript开发经典贪吃蛇游戏的技术细节和实现方法。通过具体的代码示例,深入解析了游戏逻辑、动画效果及用户交互的实现过程,为开发者提供了宝贵的参考和实践经验。 ... [详细]
  • 在 Vue 应用开发中,页面状态管理和跨页面数据传递是常见需求。本文将详细介绍 Vue Router 提供的两种有效方式,帮助开发者高效地实现页面间的数据交互与状态同步,同时分享一些最佳实践和注意事项。 ... [详细]
  • 本文详细探讨了JavaScript中数组去重的各种方法,并通过实际代码示例进行了深入解析。文章首先介绍了几种常见的去重技术,包括使用Set对象、过滤方法和双重循环等。每种方法都附有具体的实现代码,帮助读者更好地理解和应用这些技术。此外,文中还讨论了不同方法在性能上的优劣,为开发者提供了实用的参考。 ... [详细]
author-avatar
mobiledu2502908793
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有