[英]Overwriting local JSON file in Angular
我有一个要修改的json文件。 我已经有一种将其映射到模型中的方法,但事实是,我无法保存它或覆盖现有的json文件。 我已经尝试过file-saver
但是我知道无法更改保存目录,因为它取决于浏览器的设置。
我只需要修改assets
文件夹中的json文件,即可编写get
方法,该方法将返回修改后的json文件。
我不知道我能提供什么信息,但是到目前为止,这是我所拥有的:
JSON文件:
{
"id": 1,
"firstName": "sampleName",
"lastName": "sampleLastName",
"car": {
"brand": "Toyota",
"model": "Vios",
"year": 2017
}
}
保存方法:
saveJson(arg) {
const blob = new Blob([JSON.stringify(arg)], {type : 'application/json'});
saveAs(blob,'test.json');
}
arg
参数将接收具有新数据集的模型。 此方法始终将新的json文件保存在Downloads
文件夹中,因为这是浏览器指向其下载文件的位置。 我相信我必须彻底改变这一点
由于无法更改文件保护程序的目录,因此我寻找了可以以某种方式提供相同解决方案的替代解决方案。 我只是使用了今天才发现的浏览器的本地存储。 XD
无论如何,以防万一初学者遇到相同的问题并且不知道如何使用本地浏览器存储,这是我提供的服务:
import { Injectable } from '@angular/core';
@Injectable()
export class MockService {
saveJson(id, obj) {
localStorage.setItem(id, JSON.stringify(obj));
}
getJson(id) {
return JSON.parse(localStorage.getItem(id));
}
removeJson(id) {
localStorage.removeItem(id);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.