如何将数据存储在JSON文件中?

时间:2019-07-27 10:43:31

标签: flutter dart

我正在通过以下代码从JSON文件中获取数据:

var content = await rootBundle.loadString("json/story1.json");
decodedContent = json.decode(content);

我希望能够在story1.json文件中存储一个整数。

1 个答案:

答案 0 :(得分:0)

您无法将数据存储在assets/json/story1.json中,因为该文件是已编译应用程序的一部分,因此无法更改。

您需要定期read and write files以使其正常工作。

path_provider

要访问设备的存储,您必须先add path_provider to your pubspec.yaml file first

写作

现在,您只需将json数据写入这样的文件中即可:

Future<File> get file async => File('${(await getApplicationDocumentsDirectory()).path}/json/story1.json');

// You can write data like this:
await (await file).writeAsString(jsonEncode(decodedContent));

从文件中读取

下次您可能要读取更改的数据。您可以这样做:

decodedContent = jsonDecode(await (await file).readAsString());