首页 > 解决方案 > 如何使用 javascript 更改 JSON 文件

问题描述

我想更改我的 JSON 文件或向我的 SON 文件添加一个元素,但是是真实文件。我试过这段代码,但它不适用于真实文件。只有选项卡在 Web 上打开的时间发生了变化。如何在真实文件中处理它?不是用户文件,它是服务器文件,但我尝试了我的本地文件。

let xmlreq = new XMLHttpRequest()
xmlreq.open("GET","users.json",true)
 function test(){ 
const obj = JSON.parse(xmlreq.responseText); 
console.log(obj);
obj.user1.name="john";
console.log('obj.user1.name: ', obj.user1.name);

obj.user2.push("item");
console.log('obj.user2.: ', obj.user2);
}

xmlreq.send()

其他

    let xmlreq = new XMLHttpRequest()
function test(){ 
// let parsereq= JSON.parse(xmlreq.responseText);
const obj = JSON.parse(xmlreq.responseText); 
console.log(obj);
obj.user1.name="john";
console.log('obj.user1.name: ', obj.user1.name);

obj.user2.push("item");
console.log('obj.user2.: ', obj.user2);
}


xmlreq.open("GET","users.json",true)
xmlreq.send()

标签: javascriptjsonweb

解决方案


首先,您必须使用 File API 来加载文件。

https://developer.mozilla.org/en-US/docs/Web/API/File

然后你必须解析 JSON 数据。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse

然后你可以做你的修改。

但是您不能直接修改本地磁盘上的文件。相反,您必须下载文件才能覆盖原始文件。

为此,您必须从 JSON 数据创建一个数据 URL。

https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs

最后,您可以创建一个链接来下载新的 JSON。

https://stackoverflow.com/a/15832662/402322


推荐阅读