如何从现有JSON文件添加新JSON

我在这里搜索了一些相关的post但没有帮助。 我创建了一个json文件,它有一些文本我想在javascript中添加更多json(JSON存储在本地)。

我有这样的json file

 { "Home": [ "a", "b", "c" ] } 

我想要包含这个文本"Log": 1

想要达到这样的目的,

 { "Home": [ "a", "b", "c" ], "Log": 1 } 

现在我在我的json文件中有这样的(目前我有,但json格式不正确)

 { "Home": [ "a", "b", "c" ] } { "Log": 1 } $.getJSON('myfile.json', function(data) { alert("success"); }.error(function(data){ alert(JSON.stringify(data)); }); 

这会返回parser error 。 我知道JSON格式是错误的。 请指导我创建一个正确的JSON格式。

您需要读取您的JSON,将其解析为JS对象,编辑对象,然后在写入之前转换回JSON:

假设myfile.json包含:{“Home”:[“a”,“b”,“c”]}

 $.getJSON('myfile.json', function(data) { alert("success"); obj = JSON.parse(data); obj.log = 1; writeJSON(JSON.stringify(obj)); }.error(function(data){ alert(JSON.stringify(data)); }); 

和writeJSON将是这样的:

 function writeJSON(jsonString) $.ajax({ type: 'POST', url: 'myfile.json', data: jsonString, success: function(data) { alert('write succesful!'); }, contentType: "application/json", dataType: 'json' }); } 

假设您使用的服务器可以通过此端点进行读写。

错误发生在两个版本的JSON中。 你错过了"在字符串c开头

http://jsonlint.com/将帮助您追踪JSON中出现的错误。

根据经验,您应该在成熟的库中使用JSON序列化程序创建JSON,而不是手动或字符串连接。


现在我在我的json文件中喜欢这个

那是完全错误的。 你在“现在我想要达到这样的目标”中所拥有的代码是正确的(除了上面提到的错误)。