Arrays 颤振中嵌套JSON的处理
我有一个API,它以JSON数组的形式返回讲座和测验 我设法查看和处理了讲座,但测验进入了一个无限循环,我找不到问题所在。 有关于如何查看它的帮助吗? JSON响应如下所示Arrays 颤振中嵌套JSON的处理,arrays,json,list,parsing,flutter,Arrays,Json,List,Parsing,Flutter,我有一个API,它以JSON数组的形式返回讲座和测验 我设法查看和处理了讲座,但测验进入了一个无限循环,我找不到问题所在。 有关于如何查看它的帮助吗? JSON响应如下所示 { "quizzes": [ { "quiz": { "quizName": "ch3-", "quizDate": "2019-12-06T01:23:35.748Z", "qui
{
"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
},
],
}
ListTile(
title: Text("Quizzes"),
subtitle: Text("${posts.quizzes}"),
),
这是我的代码(我做了一个测验
课程,并在测验
课程中调用了它)
尝试将您的型号更改为此
// To parse this JSON data, do
//
// final quizzes = quizzesFromJson(jsonString);
import 'dart:convert';
Quizzes quizzesFromJson(String str) => Quizzes.fromJson(json.decode(str));
String quizzesToJson(Quizzes data) => json.encode(data.toJson());
class Quizzes {
final List<QuizElement> quizzes;
Quizzes({
this.quizzes,
});
factory Quizzes.fromJson(Map<String, dynamic> json) => Quizzes(
quizzes: json["quizzes"] == null ? null : List<QuizElement>.from(json["quizzes"].map((x) => QuizElement.fromJson(x))),
);
Map<String, dynamic> toJson() => {
"quizzes": quizzes == null ? null : List<dynamic>.from(quizzes.map((x) => x.toJson())),
};
}
class QuizElement {
final QuizQuiz quiz;
final double mark;
QuizElement({
this.quiz,
this.mark,
});
factory QuizElement.fromJson(Map<String, dynamic> json) => QuizElement(
quiz: json["quiz"] == null ? null : QuizQuiz.fromJson(json["quiz"]),
mark: json["mark"] == null ? null : json["mark"].toDouble(),
);
Map<String, dynamic> toJson() => {
"quiz": quiz == null ? null : quiz.toJson(),
"mark": mark == null ? null : mark,
};
}
class QuizQuiz {
final String quizName;
final DateTime quizDate;
final int quizNo;
final String chName;
QuizQuiz({
this.quizName,
this.quizDate,
this.quizNo,
this.chName,
});
factory QuizQuiz.fromJson(Map<String, dynamic> json) => QuizQuiz(
quizName: json["quizName"] == null ? null : json["quizName"],
quizDate: json["quizDate"] == null ? null : DateTime.parse(json["quizDate"]),
quizNo: json["quizNo"] == null ? null : json["quizNo"],
chName: json["chName"] == null ? null : json["chName"],
);
Map<String, dynamic> toJson() => {
"quizName": quizName == null ? null : quizName,
"quizDate": quizDate == null ? null : quizDate.toIso8601String(),
"quizNo": quizNo == null ? null : quizNo,
"chName": chName == null ? null : chName,
};
}
//要解析此JSON数据,请执行以下操作
//
//最终测验=测验来自JSON(jsonString);
导入“dart:convert”;
Quizzes quizzesFromJson(String str)=>Quizzes.fromJson(json.decode(str));
字符串quizzesToJson(Quizzes data)=>json.encode(data.toJson());
课堂测验{
期末清单测验;
测验({
这是测验,
});
工厂测验.fromJson(映射json)=>测验(
测验:json[“测验”]==null?null:List.from(json[“测验”].map((x)=>QuizElement.fromJson(x)),
);
映射到JSON()=>{
“quizzes”:quizzes==null?null:List.from(quizzes.map((x)=>x.toJson()),
};
}
课堂提问{
期末测验;
最终双标记;
奎齐勒姆({
这个小测验,
这个,马克,
});
工厂QuizElement.fromJson(映射json)=>QuizElement(
quick:json[“quick”]==null?null:quizquick.fromJson(json[“quick”]),
mark:json[“mark”]==null?null:json[“mark”].toDouble(),
);
映射到JSON()=>{
“quick”:quick==null?null:quick.toJson(),
“标记”:标记==空?空:标记,
};
}
课堂问答{
最终字符串quizName;
最终日期时间quizDate;
最后一步;
最终字符串chName;
智力测验({
这是我的名字,
这个,奎兹达特,
这是我的,
这个.chName,
});
工厂quizquick.fromJson(映射json)=>quizquick(
quizName:json[“quizName”]==null?null:json[“quizName”],
quizDate:json[“quizDate”]==null?null:DateTime.parse(json[“quizDate”]),
quizNo:json[“quizNo”]==null?null:json[“quizNo”],
chName:json[“chName”]==null?null:json[“chName”],
);
映射到JSON()=>{
“quizName”:quizName==null?null:quizName,
“quizDate”:quizDate==null?null:quizDate.toIso8601String(),
“quizNo”:quizNo==null?null:quizNo,
“chName”:chName==null?null:chName,
};
}
尝试将您的型号更改为此
// To parse this JSON data, do
//
// final quizzes = quizzesFromJson(jsonString);
import 'dart:convert';
Quizzes quizzesFromJson(String str) => Quizzes.fromJson(json.decode(str));
String quizzesToJson(Quizzes data) => json.encode(data.toJson());
class Quizzes {
final List<QuizElement> quizzes;
Quizzes({
this.quizzes,
});
factory Quizzes.fromJson(Map<String, dynamic> json) => Quizzes(
quizzes: json["quizzes"] == null ? null : List<QuizElement>.from(json["quizzes"].map((x) => QuizElement.fromJson(x))),
);
Map<String, dynamic> toJson() => {
"quizzes": quizzes == null ? null : List<dynamic>.from(quizzes.map((x) => x.toJson())),
};
}
class QuizElement {
final QuizQuiz quiz;
final double mark;
QuizElement({
this.quiz,
this.mark,
});
factory QuizElement.fromJson(Map<String, dynamic> json) => QuizElement(
quiz: json["quiz"] == null ? null : QuizQuiz.fromJson(json["quiz"]),
mark: json["mark"] == null ? null : json["mark"].toDouble(),
);
Map<String, dynamic> toJson() => {
"quiz": quiz == null ? null : quiz.toJson(),
"mark": mark == null ? null : mark,
};
}
class QuizQuiz {
final String quizName;
final DateTime quizDate;
final int quizNo;
final String chName;
QuizQuiz({
this.quizName,
this.quizDate,
this.quizNo,
this.chName,
});
factory QuizQuiz.fromJson(Map<String, dynamic> json) => QuizQuiz(
quizName: json["quizName"] == null ? null : json["quizName"],
quizDate: json["quizDate"] == null ? null : DateTime.parse(json["quizDate"]),
quizNo: json["quizNo"] == null ? null : json["quizNo"],
chName: json["chName"] == null ? null : json["chName"],
);
Map<String, dynamic> toJson() => {
"quizName": quizName == null ? null : quizName,
"quizDate": quizDate == null ? null : quizDate.toIso8601String(),
"quizNo": quizNo == null ? null : quizNo,
"chName": chName == null ? null : chName,
};
}
//要解析此JSON数据,请执行以下操作
//
//最终测验=测验来自JSON(jsonString);
导入“dart:convert”;
Quizzes quizzesFromJson(String str)=>Quizzes.fromJson(json.decode(str));
字符串quizzesToJson(Quizzes data)=>json.encode(data.toJson());
课堂测验{
期末清单测验;
测验({
这是测验,
});
工厂测验.fromJson(映射json)=>测验(
测验:json[“测验”]==null?null:List.from(json[“测验”].map((x)=>QuizElement.fromJson(x)),
);
映射到JSON()=>{
“quizzes”:quizzes==null?null:List.from(quizzes.map((x)=>x.toJson()),
};
}
课堂提问{
期末测验;
最终双标记;
奎齐勒姆({
这个小测验,
这个,马克,
});
工厂QuizElement.fromJson(映射json)=>QuizElement(
quick:json[“quick”]==null?null:quizquick.fromJson(json[“quick”]),
mark:json[“mark”]==null?null:json[“mark”].toDouble(),
);
映射到JSON()=>{
“quick”:quick==null?null:quick.toJson(),
“标记”:标记==空?空:标记,
};
}
课堂问答{
最终字符串quizName;
最终日期时间quizDate;
最后一步;
最终字符串chName;
智力测验({
这是我的名字,
这个,奎兹达特,
这是我的,
这个.chName,
});
工厂quizquick.fromJson(映射json)=>quizquick(
quizName:json[“quizName”]==null?null:json[“quizName”],
quizDate:json[“quizDate”]==null?null:DateTime.parse(json[“quizDate”]),
quizNo:json[“quizNo”]==null?null:json[“quizNo”],
chName:json[“chName”]==null?null:json[“chName”],
);
映射到JSON()=>{
“quizName”:quizName==null?null:quizName,
“quizDate”:quizDate==null?null:quizDate.toIso8601String(),
“quizNo”:quizNo==null?null:quizNo,
“chName”:chName==null?null:chName,
};
}
Map jsonData = {
"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
},
],
};
@override
Widget build(BuildContext context) {
return Container(
alignment:Alignment.center,
child:ListView.builder(
itemCount:jsonData['quizzes'].length,
shrinkWrap:true,
itemBuilder:(con,ind){
return ListTile(
title:Text(jsonData['quizzes'][ind]['quiz']['quizName']),
subtitle:Text(jsonData['quizzes'][ind]['quiz']['quizDate'])
);
}
)
);
}
// To parse this JSON data, do
//
// final quizzes = quizzesFromJson(jsonString);
import 'dart:convert';
Quizzes quizzesFromJson(String str) => Quizzes.fromJson(json.decode(str));
String quizzesToJson(Quizzes data) => json.encode(data.toJson());
class Quizzes {
final List<QuizElement> quizzes;
Quizzes({
this.quizzes,
});
factory Quizzes.fromJson(Map<String, dynamic> json) => Quizzes(
quizzes: json["quizzes"] == null ? null : List<QuizElement>.from(json["quizzes"].map((x) => QuizElement.fromJson(x))),
);
Map<String, dynamic> toJson() => {
"quizzes": quizzes == null ? null : List<dynamic>.from(quizzes.map((x) => x.toJson())),
};
}
class QuizElement {
final QuizQuiz quiz;
final double mark;
QuizElement({
this.quiz,
this.mark,
});
factory QuizElement.fromJson(Map<String, dynamic> json) => QuizElement(
quiz: json["quiz"] == null ? null : QuizQuiz.fromJson(json["quiz"]),
mark: json["mark"] == null ? null : json["mark"].toDouble(),
);
Map<String, dynamic> toJson() => {
"quiz": quiz == null ? null : quiz.toJson(),
"mark": mark == null ? null : mark,
};
}
class QuizQuiz {
final String quizName;
final DateTime quizDate;
final int quizNo;
final String chName;
QuizQuiz({
this.quizName,
this.quizDate,
this.quizNo,
this.chName,
});
factory QuizQuiz.fromJson(Map<String, dynamic> json) => QuizQuiz(
quizName: json["quizName"] == null ? null : json["quizName"],
quizDate: json["quizDate"] == null ? null : DateTime.parse(json["quizDate"]),
quizNo: json["quizNo"] == null ? null : json["quizNo"],
chName: json["chName"] == null ? null : json["chName"],
);
Map<String, dynamic> toJson() => {
"quizName": quizName == null ? null : quizName,
"quizDate": quizDate == null ? null : quizDate.toIso8601String(),
"quizNo": quizNo == null ? null : quizNo,
"chName": chName == null ? null : chName,
};
}