当前位置: 首页 > 面试题库 >

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

公孙宏畅
2023-03-14
问题内容

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

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

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

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

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



 类似资料:
  • 问题内容: 我正在制作一个混合移动应用程序,我需要存储一些数据,例如,如果它是一个游戏:高分等..到目前为止,它能够使用jquery从JSON文件中读取数据..,但是是否可以写到JSON文件??! 还是有其他方法可以这样做? IDE-Eclipse(插件-IBM Worklight Studio) 只能使用HTML 5以及JS和JQ! 谢谢 (: 问题答案: 您可以将JSON写入本地存储,而只需使

  • 问题内容: 我在变量中存储了JSON数据。 我想将其写入文本文件进行测试,因此不必每次都从服务器获取数据。 目前,我正在尝试: 我收到此错误: TypeError:必须是字符串或缓冲区,而不是dict 如何解决这个问题? 问题答案: 您忘记了实际的JSON部分- 是字典,尚未进行JSON编码。写这样的最大兼容性(Python 2和3): 在现代系统(即Python 3和UTF-8支持)上,您可以使

  • 问题内容: 我将JSON数据存储在变量中data。 我想将其写入文本文件进行测试,因此不必每次都从服务器获取数据。 目前,我正在尝试: 我收到此错误: 必须是字符串或缓冲区,而不是dict 如何解决? 问题答案: 你忘记了实际的JSON部分- data是字典,尚未进行JSON编码。写这样的最大兼容性(Python 2和3): 在现代系统(即Python 3和UTF-8支持)上,你可以使用

  • 我正在尝试将以下数据写入csv文件。这些数据是employdetails name1-surname1-place1 名称4-surname4-place4 我希望输出在CSV文件上,一个在另一个下面,在单独的行上。 我写了下面的代码 -KD

  • 问题内容: 我正在努力将数据从文件导入。 我可以使用在命令行中执行相同的操作。 我进行了很多尝试,但无法使用Java从Json文件导入。 sample.json 谢谢你的时间 〜加内什〜 问题答案: 假设您可以分别读取JSON字符串。例如,您阅读了第一个JSON文本 并将其分配给变量(字符串json1),下一步是解析它, 将所有 dbo 放入列表, 然后将它们保存到数据库中: 编辑: 在最新的Mo

  • 问题内容: 是否可以使用PHP fwrite()将内容附加到.xls文件? 当我使用fwrite()尝试此操作时,生成的文件在Excel 2007中导致错误消息。 我可以使用特定的分隔符来完成此操作吗? 没有第三方库,有可能吗? 问题答案: 您可以使用PhpSpreadsheet库读取现有的Excel文件,向其中添加新的行/列,然后将其写回为真实的Excel文件。 免责声明:我是该库的作者之一。