嗨,所以我试图将JSON转换为对象,但是当我读取文件时,它将引发异常:
FileSystemException:无法打开文件,路径='D:/AndroidStudio/my_app/assets/data/questions.json'(操作系统错误:无此类文件或目录,errno = 2)
代码如下:
String loadQuestionAsset() {
String jsonString;
new File('D:/AndroidStudio/my_app/assets/data/questions.json').readAsString().then((String contents) {
jsonString = contents;
});
return jsonString;
}
List<Question> parseJsonForQuestion() {
Map decoded = jsonDecode(loadQuestionAsset());
List<Question> questions = new List<Question>();
for (var question in decoded['questions']) {
questions.add(new Question(question['question'], question['bool']));
}
return questions;
}
和JSON文件:
{
"questions": [
{
"question": "Elon Musk is human",
"bool": false
},
{
"question": "Pizza is healthy",
"bool": false
},
{
"question": "Flutter is awesome",
"bool": true
}
]
}
感谢帮助:)
答案 0 :(得分:0)
您需要提供的路径是:end date
。
现在,要阅读该文件,您还必须将其添加到assets/data/questions.json
文件的资产中。
pubspec.yaml
然后,为了阅读,您应该使用rootBundle:
flutter:
assets:
- data/questions.json
我希望它能起作用:)
答案 1 :(得分:0)
您可以:
String loadQuestionAsset() {
String jsonString;
File('D:/AndroidStudio/my_app/assets/data/questions.json').create().readAsString().then(String contents) {
jsonString = contents;
});
return jsonString;
}