我正在读取JSON文件,并在完全匹配后删除该元素。我想在删除后将剩余数据推送到JSON文件。
readJsonFile("./objects.json", function(jsonData){
let parsedData = jsonData; // Parsed JSON data
for (let i=0; i <= parsedData.data.length - 1; i++) {
if (parsedData.data[i].id == did) {
console.log('match record-->',parsedData.data[i].id);
console.log('deleted record-->',did);
if (delete parsedData.data.splice(i,1)) {
// here I want to push the data to JSON file after delete
}
}
}
});
下面是readJsonFile函数
function readJsonFile(file, callback) {
let jsonData;
$.getJSON(file)
.done(function (data) {
jsonData = data;
callback(jsonData);
});
}
答案 0 :(得分:0)
假设使用jQuery,它在浏览器中。
浏览器无法写入本地文件系统,因此您无法直接编辑文件。
您可以执行以下操作(未经测试):
GRADES
尝试强制页面下载新的JSON数据。
答案 1 :(得分:0)
例如,您可以将JSON文件本地存储到 localStorage 中。您可以按以下方式使用它:
要存储数组(或对象):
localStorage.setItem('data', JSON.stringify(array));
要获取数组(或对象):
var data = JSON.parse(localStorage.getItem('data') || '[]');
示例
var array =
[
{
user: {icon: 'f007'},
home: {icon: 'f015'},
folder: {icon: 'f07c'}
}
];
localStorage.setItem('data', JSON.stringify(array));
function readJsonFile(jsonData, callback)
{
callback(jsonData);
}
var data = JSON.parse(localStorage.getItem('data') || '[]');
readJsonFile(data, function(data)
{
console.log(data[0].home.icon); // f015
});
如果您有Uncaught SecurityError
,请阅读 this site 。