如何使用 Javascript 将数据写入 JSON 文件

2024-03-30

例如,我有一个.JSON具有以下内容的文件:

[{"honda": "accord", "color": "red"},{"ford": "focus", "color": "black"}]

推送另一个对象的 JavaScript 代码是什么{"nissan": "sentra", "color": "green"}进入这个.json数组使.json文件看起来像

[{"honda": "accord", "color": "red"},{"ford": "focus", "color": "black"},{"nissan": "sentra", "color": "green"}]

我问的原因是我在网上找到了大量有关如何使用 AJAX 从 .json 文件中提取数据的信息,但没有使用 AJAX 将新数据写入 .json 文件以使用附加数据更新 .json 文件。

任何帮助,将不胜感激!


您必须清楚“JSON”的含义。

有些人错误地使用术语 JSON 来指代普通的旧 JavaScript 对象,例如[{a: 1}]。这个恰好是一个数组。如果你想向数组添加一个新元素,只需push它,如

var arr = [{a: 1}];
arr.push({b: 2});

< [{a: 1}, {b: 2}]

JSON 这个词也可以用来指代以 JSON 格式编码的字符串:

var json = '[{"a": 1}]';

请注意(单)引号,表明这是一个字符串。如果你有这样一个从某处获得的字符串,你需要首先将其解析为 JavaScript 对象,使用JSON.parse:

var obj = JSON.parse(json);

现在您可以以任何您想要的方式操纵对象,包括push如上图所示。如果您想将其放回到 JSON 字符串中,那么您可以使用JSON.stringify:

var new_json = JSON.stringify(obj.push({b: 2}));
'[{"a": 1}, {"b": 1}]'

JSON 还用作格式化数据的常用方法,以便将数据传输到服务器或从服务器传输数据,并可以在服务器上保存(持久化)数据。这就是 ajax 的用武之地。Ajax 用于从服务器获取数据(通常为 JSON 格式)和/或将 JSON 格式的数据发送到服务器。如果您收到 JSON 格式的 ajax 请求响应,您可能需要JSON.parse如上所述。然后你可以操作该对象,将其放回 JSON 格式JSON.stringify,并使用另一个 ajax 调用将数据发送到服务器进行存储或其他操作。

您使用术语“JSON 文件”。通常,“文件”一词用于指代某些设备上的物理文件(not您在代码中处理的字符串或 JavaScript 对象)。浏览器无法访问您计算机上的物理文件。它无法读取或写入它们。实际上,浏览器甚至没有真正的“文件”概念。因此,您不能只在本地计算机上读取或写入某些 JSON 文件。如果您要向服务器发送 JSON 或从服务器发送 JSON,那么当然,服务器可能会将 JSON 存储为文件,但更有可能的是,服务器会基于某些 ajax 请求、基于从数据库检索的数据来构造 JSON ,或者解码某个ajax请求中的JSON,然后将相关数据存储回其数据库中。

您真的有“JSON 文件”吗?如果有,它存在于哪里以及您从哪里获取它?您是否有一个 JSON 格式字符串,需要对其进行解析、维护并转回新的 JSON 格式字符串?是否需要从服务器获取JSON,并修改它然后将其发送回服务器?或者您的“JSON 文件”实际上只是一个 JavaScript 对象,您只需要使用正常的 JavaScript 逻辑进行操作?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Javascript 将数据写入 JSON 文件 的相关文章

随机推荐

  • 非常快的无限循环,不阻塞 I/O

    有没有更快的替代方案window requestAnimationFrame 对于不阻塞 I O 的无限循环 我在循环中所做的事情与动画无关 所以我不在乎下一帧何时准备好 并且我已经读过window requestAnimationFram
  • intellij IDEA 中每个模块的不同存储库

    我不确定如何为 IDEA 项目中的每个不同模块选择不同的 git 存储库 我没有看到任何选项 所有 git 选项似乎只与一个 git 存储库相关 有没有办法区分它们 所以 全部在同一个项目内 Module A gt repo A Modul
  • android apache poi-ooxml 导致构建错误 'app:transformClassesWithDesugarForDebug'

    我的应用程序需要实现 Excel 创建和下载 我使用 Apache POI 的 HSSFWorkbook 来实现该功能 应用程序成功创建了所需的 Excel xls 输出 但是 如果我在 gradle 中包含 apache poi ooxm
  • 我想要一个提交按钮 该按钮提交的值与按钮 上显示的值不同 和
  • 如何在 Linux 上安全地、事务性地替换文件?

    我能想到的替换文件内容的最天真 最糟糕的方法是 f open file txt w f write stuff f close 显然 如果该操作在关闭之前的某个时刻失败 您将丢失原始文件的内容 而不一定完成新内容 那么 什么是完全正确的方法
  • Chef deploy_resource 私有存储库、ssh 部署密钥和 ssh_wrapper

    我在让我的厨师食谱克隆私人仓库时遇到了很多麻烦 好吧 我昨天还可以用 但是在 清理 我的 Vagrant 盒子六次之后 我把它弄坏了 正如你可能猜到的那样 我是一名厨师新手 按照此处的deploy resource指南 我创建了我的depl
  • 检查 NSNumber 是否为分数

    检查是否存在的最佳方法是什么NSNumber是分数吗 NumberIsFraction 0 NO NumberIsFraction 0 5 YES NumberIsFraction 1 0 NO 在边境案件处理和绩效方面 最佳 避免转换为具
  • MongoDB 作为时间序列数据库

    我正在尝试使用 mongodb 作为时间序列数据库 并且想知道是否有人可以建议如何最好地针对该场景进行设置 时间序列数据与股票价格历史非常相似 我收集了来自不同机器的各种传感器的数据 有数十亿个时间戳的值 我想问以下问题 最好来自数据库而不
  • 如何在命名类别中声明私有属性?

    我知道可以通过将类的私有属性放入实现中声明的类的未命名类别中来声明类的私有属性 m 该类的文件 那是not我想做的事 我正在处理一个类的命名类别 该类别为该类添加了一些功能 对于此功能 在我的类别中使用私有属性会对我有很大帮助 因此实现此功
  • 如何修复 C# 中的“使用未分配的局部变量”[重复]

    这个问题在这里已经有答案了 我是 C 新手 我最后的编程语言是 C 我不断收到 Use of unassigned local variable average 这average与之相关的是average 10 using System u
  • Android HttpUrlConnection EOFException

    我想知道 Android 上的 HttpUrlConnection 和 POST 请求是否存在已知问题 我们正在经历间歇性的从 Android 客户端发出 POST 请求时出现 EOFExceptions 重试相同的请求最终会成功 这是堆栈
  • 将 ruby​​ .gem 文件放在哪里以便 Shoes.setup 可以找到它们?

    关于鞋子中的宝石支持 人们提出了很多问题 但没有人回答将它们放在哪里 我在 Windows XP 上有 Shoes Raisins 1134 并且我已经下载dbi 0 4 1 gem我正在尝试让以下内容发挥作用 Shoes setup do
  • 从 Mongo 获取 BinData UUID 作为字符串

    我目前有一些 id 作为 UUID 存储在 Mongo 中 处理所需 他们像这样被返回 id new BinData 3 JliB6gIMRuSphAD2KmhzgQ 将此值转换为字符串以进行调试的简单方法是什么 需要明确的是 应用程序可以
  • 使用 SMOTE 对图像数据进行过采样

    我正在使用 CNN 进行二元分类 数据不平衡 其中正医学图像 负医学图像 0 4 0 6 所以我想在训练前使用SMOTE对正医学图像数据进行过采样 但是 数据的维度是 4D 761 64 64 3 这会导致错误 Found array wi
  • 如何在 Django 中强制用户注销?

    在我的 Django 应用程序中 在某些条件下 我希望能够强制用户通过用户名注销 不一定是当前登录的用户 而是另一个用户 因此 我认为请求方法没有任何有关我要注销的用户的会话信息 我熟悉 django auth 和 auth 注销方法 但需
  • 以编程方式将颜色从加载的位图逐像素交换为红色、绿色、蓝色或灰色

    在这里下载源代码 http www eyeClaxton com download delphi ColorSwap zip http www eyeClaxton com download delphi ColorSwap zip 是的
  • 在 php.ini 上启用curl_exec

    我想运行带有curl 的php 脚本 但以下功能被 php ini 禁用 exec passthru shell exec 系统 proc open popen curl exec curl multi exec show source 我
  • 如何在 Javascript 中检测 XMLHttpRequest() 的跨源 (CORS) 错误与其他类型的错误

    我试图检测 XMLHttpRequest 何时由于跨源错误而不是错误请求而失败 例如 ajaxObj new XMLHttpRequest ajaxObj open GET url true ajaxObj send null 考虑 url
  • 如何从java代码中隐藏线性布局? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我想隐藏线性布局 所以我使用了 Li
  • 如何使用 Javascript 将数据写入 JSON 文件

    例如 我有一个 JSON具有以下内容的文件 honda accord color red ford focus color black 推送另一个对象的 JavaScript 代码是什么 nissan sentra color green