json - 从 Flutter 中的本地 json 文件获取数据
问题描述
我正在修改我在 github 上找到的存储库,正如您在应用程序下面的代码中看到的那样,该应用程序使用 API,但它位于 dart 文件中。我将该 json 数据复制到“ questions.json
”文件中,现在我想做类似的事情(当然这是错误的):
var json = 'assets/questions.json';
有什么帮助吗?
@override
Future<bool> getQuestions(
{StreamedList<Question> questions,
int number,
Category category,
QuestionDifficulty difficulty,
QuestionType type}) async {
const json = "{\"response_code\":0......here is the json data........}";
final jsonResponse = convert.jsonDecode(json);
final result = (jsonResponse['results'] as List).map((question) => QuestionModel.fromJson(question));
questions.value = result.map((question) => Question.fromQuestionModel(question)).toList();
return true;
}
解决方案
如果你想从你的资产文件夹中加载你的数据,你需要两件事:
1) 确保该文件包含在您的文件中pubspec.yaml
- 请参阅 yaml 文件关于如何执行此操作的评论。
2) 使用rootBundle
. 类似于以下内容:
import 'package:flutter/services.dart';
// code
var data = await rootBundle.loadString('assets/data.json');
推荐阅读
- php - 类哈希不存在 laravel 5.4
- python - 如何 os.chdir(“路径包括非 ascii 字符,如阿拉伯语”)
- kubernetes - 我的 kubernetes 部署无法按预期工作
- excel - 根据最后一个单元格值自动生成 VBA 代码到序列号
- ios - 用于以下要求的应用内购买类型
- java - 如何从 Java 客户端访问托管在 Windows 服务中的 WCF 服务?
- reactjs - 这是我的编辑减速器。它工作正常,但我想使用 object.assign 方法
- eclipse - Eclipse 运行测试一一
- python - Numpy np.any 范围或阈值
- java - Intellij 如何在使用 gradle 和 lombok、google protobuf 和 swagger 等工具时忽略“out”目录中的重复类