Ajax 写入文件Json已经存在

Ajax 写入文件Json已经存在,ajax,json,node.js,file,Ajax,Json,Node.js,File,我发现了这个页面,我认为它很有用,但我有一个问题:我有一个页面,它在数组中给出了一个请求sparql的结果,我只想获取一行结果,并在该行的最后一列插入一个按钮“add”,当我用Json写这行代码时,我想把它写在一个Json文件中,这个Json文件已经和其他数据一起存在。该按钮调用下一个函数: 函数添加(参数){ 其中res是我要添加的行的索引,data是我需要添加的所有数据。 所以我想知道我如何修改这个代码,使用“Larry Battle”发布的最后一个代码。我必须把他的代码放在一个文件“add

我发现了这个页面,我认为它很有用,但我有一个问题:我有一个页面,它在数组中给出了一个请求sparql的结果,我只想获取一行结果,并在该行的最后一列插入一个按钮“add”,当我用Json写这行代码时,我想把它写在一个Json文件中,这个Json文件已经和其他数据一起存在。该按钮调用下一个函数: 函数添加(参数){

其中res是我要添加的行的索引,data是我需要添加的所有数据。 所以我想知道我如何修改这个代码,使用“Larry Battle”发布的最后一个代码。我必须把他的代码放在一个文件“add.js”中,我在url中调用这个文件?或者如何


链接我的示例:

最简单的方法可能是需要原始json文件,在内存中添加新数据,然后将对象保存回一个漂亮的json文件(如果愿意,可以覆盖原始文件)

我不确定您所说的“res是我要添加的行的索引”是什么意思,因此我假设它将是序列化为JSON的javascript对象中的属性名。因此,一般情况下,它看起来像这样:

var fileData = require('/path/to/jsonData.json');
// fileData is now a JS object that was parsed from the json file); this is a sync operation.

fileData[res] = data; // data object from your existing code.

// write fileData to a JSON file like you were going to do before.

谢谢你的回答。谢谢你的回答。我编辑了我的第一篇文章,在链接上查找图片,我有一个数组,其中有一行sor res=0,如果我有两行在这个数组中,res将等于1(这样我可以访问第0行和/或第1行的数据)。所以我的问题是当我点击“ajouter”按钮时我想以json格式将所有在线数据写入一个与其他数据一起存在的文件中。这就是为什么我将我找到的链接放在一个json文件中要写入的代码的位置,我的问题是我可以不编辑就使用此代码吗?或者我必须更改一些内容?以及如何在我的函数中使用此代码。你的链接对我不起作用。因此,我的建议是:基于假设(在标题中)你的架构中有一个运行node.js的服务器进程。我的代码是js,应该在node.js代码的某个地方。你的代码是基于jquery的,所以它将在浏览器中。因此,如果你的服务器代码将按照你的代码建议从客户端接收数据,那么它必须做的就是我建议的。好吧,但我不想过度写下原文,我只想在原文中添加一行新行,所以当你写fileData[res]=data时,这是什么意思?它是如何解释为json格式的?我不需要使用“json.stringify”?例如fileData[0]是否要在文件的第0行写入?不,请阅读我所说的。首先使用
require
读取文件。这将为您提供JSON内容的内存表示形式,作为javascript对象。此时,您可以操作它,而不必操作普通JS对象;因此,如果fileData是数组,则写入fileData[0]=正如您所说,“something”将用单词“something”替换数组中的第一个元素。如果您想插入或追加,请使用正常的JS数组语法。一旦您准备好保存更改,则执行JSON.stringify操作,并将结果字符串保存到磁盘;哪个文件由您决定。
var fileData = require('/path/to/jsonData.json');
// fileData is now a JS object that was parsed from the json file); this is a sync operation.

fileData[res] = data; // data object from your existing code.

// write fileData to a JSON file like you were going to do before.