JS - 在JSON文件中插入,删除和添加数据
我正在处理所有数据存储在本地JSON文件中的JavaScript项目,我已经能够读取此文件中的信息,但我似乎在如何添加和修改这个JSON文件的信息时会丢失,有人可以请我指出正确的方向。JS - 在JSON文件中插入,删除和添加数据
谢谢。
你的问题本质上是做文件/上JSON(字符串,数据结构格式)的组成文件的内容目录I/O(读&写)。特别是,你想用Javascript将内容写回文件;那么,目前,..
没有一个网络标准,或批准使用javascript写文件的规范。现代浏览器继续实施他们自己的API。
- Google的FileSystem API适用于Google Chrome,Opera。 (caniuse)
- 附加参考:html5rocks
- 不再被上工作作为一个网络标准。
- 将继续成为其应用中心内的Chrome和应用的API。
- 但是,今年有一个基于github的W3C草案,与FileSystem API已经死亡的观点相矛盾; http://w3c.github.io/filesystem-api/Overview.html,它也似乎包含FileHandler API。
- Mozilla的FileHandler API for firefox。
这些API使用File API(特别是用于blob的接口)的各个方面。 文件API的状态仍然是“正在进行中”;该文件的状态:“最后通话工作草案”。 此重申,有,目前,没有标准化,赞同文件/目录I/O的JavaScript实现
,因为它们是网络规范,他们不建议在生产点;并且不被W3C推荐。
值得注意: 的FileWriter接口从FileSaver接口继承,但只在Chrome的WebKit的执行(这戏现在继承)。 (注意:有人说这个类没有实现FileWriter的构造函数)。
其他以往的解决方案是使用Flash组件作为解决方案来实现“另存为”功能。在转向中,为了实现这些实验性或非标准化规格,不支持的设备/用户代理可以使用polyfill和shims。
对于我这里的项目是否为内部目的而言,这仍然是不确定的。如果您正在构建Intranet应用程序或尝试执行不打算在生产中标准化和/或公开访问的实用程序脚本,那么我建议您查看并使用这些API。
您可以使用parseJSON jQuery function将字符串转换为JSON对象,然后对其进行修改。 然后,您可以使用JSON.stringify JavaScript function将编辑的JSON对象转换为字符串。
随着Jquery
,你可以尝试下面的东西,来获取数据,然后你可以操纵它作为Java脚本对象。
<html>
<head>
<script type="text/javascript" src="jquery-1.9.1.min.js"></script>
<script type="text/javascript" charset="utf-8">
function loadJson() {
$(document).ready(function()
{
$.getJSON('file.json', function(json) {
console.log(json);
});
});
}
</script>
</head>
<body onload="loadJson();">
</body>
</html>
考虑OP标记为'jquery' ..你的回答可能与他的情况最相关..虽然,可能有更好的方法.. – 2015-02-06 19:38:45
@BrettCaswell,是的有几种方法来解决这个问题,但我试图按照OP标签提供更贴近的内容。 – RE350 2015-02-06 19:42:04
我知道如何访问和读取JSON文件,我不知道如何存储更改。 – 2015-02-06 22:21:43
首先,欢迎来到Stack Overflow。其次,你可以请张贴一些代码,以便我们知道我们在看什么? – 2015-02-06 19:21:04
你在服务器端通话吗?你在使用nodejs吗? – satchcoder 2015-02-06 19:21:43
正确的方向是将您的文件加载到JSON对象中,然后将更多数据(obj.newProp ='something'; obj.existingProp.newSubProp ='somethingElse')添加到该对象并序列化回文件。或者,如果您需要将文件作为纯文本处理,则需要非常小心,但我不会推荐这种方法。 – 2015-02-06 19:24:33