【发布时间】:2020-01-27 06:34:31
【问题描述】:
我有一个 API 可以将讲座和测验作为 JSON 数组返回 我设法查看和处理讲座,但测验进入无限循环,我找不到问题。 有关如何查看它的任何帮助? JSON 响应如下所示
{
"quizzes": [
{
"quiz": {
"quizName": "ch3-",
"quizDate": "2019-12-06T01:23:35.748Z",
"quizNo": 5,
"chName": "ch3-",
},
"mark": 9
},
{
"quiz": {
"quizName": "ch5-",
"quizDate": "2020-01-07T11:57:15.862Z",
"quizNo": 5,
"chName": "ch5-",
},
"mark": 13.5
},
],
}
这是我的代码(我创建了一个Quiz 类并在Quizes 类中调用它)
...
{class Quizes {
Quiz quiz;
final int mark;
Quizes({this.quiz,this.mark});
factory Quizes.fromJson(Map<String, dynamic> parsedJson) {
return Quizes(
quiz: parsedJson['quiz'] as Quiz ,
mark: parsedJson['mark'] as int ,
);}
@override
String toString(){
return '{ ${this.quiz},${this.mark} }';
}
}
class Quiz {
final int quizNo;
final String quizName;
final String quizDate;
Quiz({this.quizNo,this.quizName,this.quizDate });
factory Quiz.fromJson(Map<String, dynamic> parsedJson) {
print(Quiz);
return Quiz(
quizNo: parsedJson['quizNo'] as int ,
quizName: parsedJson['quizName'] as String,
quizDate: parsedJson['quizDate'] as String,
);}
// @override
// String toString(){
// return '{ ${this.quizNo},${this.quizName},${this.quizDate} }';
// }
这里是 API 响应的主类
import 'package:flutter/foundation.dart';
import 'package:flutter_http/quiz_model.dart';
class Post {
final List<Quizes> quizzes;
Post({
this.quizzes,
});
factory Post.fromJson(Map<String, dynamic> parsedJson) {
var qlist = parsedJson['quizzes'] as List;
print(qlist.runtimeType);
List<Quizes> qdataList = qlist.map((i) => Quizes.fromJson(i)).toList();
return Post(
quizzes:qdataList,
);
}
}
我正在像这样在ListTile 中查看它
ListTile(
title: Text("Quizzes"),
subtitle: Text("${posts.quizzes}"),
),
【问题讨论】:
标签: arrays json list parsing flutter