late File jsonFile;
late Directory dir;
String fileName = "myJSONfile.json";
bool fileExists = false;
Map fileContent = <String, String>{};
//late Map<String, String> fileContent;
//late Map<String, String> fileContent = {};
//var fileContent = <String, String>{};
@override
void initState() {
super.initState();
getApplicationDocumentsDirectory().then((Directory directory) {
dir = directory;
jsonFile = new File(dir.path + "/" + fileName);
fileExists = jsonFile.existsSync();
if (fileExists)
this.setState(
() => fileContent = json.decode(jsonFile.readAsStringSync()));
});
}
void createFile(Map<String, String> content, Directory dir, String fileName) {
print("Creating file!");
File file = new File(dir.path + "/" + fileName);
file.createSync();
fileExists = true;
file.writeAsStringSync(json.encode(content));
}
void writeFile(String key, String value) {
print("Writing to file!");
Map<String, String> content = {key: value};
if (fileExists) {
print("File exists");
Map<String, String> jsonFIleContent =
json.decode(jsonFile.readAsStringSync());
jsonFIleContent.addAll(content);
jsonFile.writeAsStringSync(json.encode(jsonFIleContent));
} else {
print("FIle does not exists!");
createFile(content, dir, fileName);
}
this.setState(() => fileContent = json.decode(jsonFile.readAsStringSync()));
}
嘿,我是 Flutter 的新手,我正在尝试使用 JSON 文件保存数据并再次读取,但它不起作用
这是错误:(颤振 I/颤振(4140):类型 '_InternalLinkedHashMap<String, dynamic>' 不是类型 'Map<String, String>' 的子类型)
我已经在互联网上搜索但我没有找到任何答案,有人可以告诉我这个错误是什么以及我该如何解决它?