首页 > 解决方案 > 删除 Json 文件中的密钥

问题描述

我将数据保存在 Json 文件中。现在我想实现选项,从文件中删除数据。我知道如何删除键的值,但我不知道如何从 Json 文件中删除键(连同值)。

我试过这个:

fileContent.remove('key');

但这不起作用。

这是我创建、读取和写入 Json 文件的代码:

  File jsonFile;
  Directory dir;
  String fileName = "MyFile.json";
  bool fileExists = false;
  Map<String, dynamic> fileContent;

  void createFile(Map<String, dynamic> 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 writeToFile(String key, dynamic value) { 
    print("Writing to file!");
    Map<String, dynamic> content = {key: value}; 
    if (fileExists) {
      print("File exists");
      Map<String, dynamic> jsonFileContent = json.decode(jsonFile.readAsStringSync());
      jsonFileContent.addAll(content);
      jsonFile.writeAsStringSync(json.encode(jsonFileContent));
    } else {
      print("File does not exist!");
      createFile(content, dir, fileName);
    }
    this.setState(() => fileContent = json.decode(jsonFile.readAsStringSync()));
    print(fileContent);
  }

谢谢你的帮助!

标签: jsonflutterdart

解决方案


推荐阅读