Dart 解析json数组返回`预期的值类型为';列表<&燃气轮机';,但是得到了一个类型';列表<;动态>';
我正在尝试解析以下json并将其映射到等效对象:Dart 解析json数组返回`预期的值类型为';列表<&燃气轮机';,但是得到了一个类型';列表<;动态>';,dart,Dart,我正在尝试解析以下json并将其映射到等效对象: [ { "name":"Will Everett", "golfers":[ { "name":"Bryson DeChambeau", "rounds":[ { &q
[
{
"name":"Will Everett",
"golfers":[
{
"name":"Bryson DeChambeau",
"rounds":[
{
"number":1,
"score":"75"
}
],
"today":"-",
"thru":"7:41 PM"
},
{
"name":"Shane Lowry",
"rounds":[
{
"number":1,
"score":"75"
},
{
"number":2,
"score":"--"
}
],
"today":"-",
"thru":"7:41 PM"
},
{
"name":"Gary Woodland",
"rounds":[
{
"number":1,
"score":"75"
},
{
"number":2,
"score":"--"
}
],
"today":"-",
"thru":"7:41 PM"
},
{
"name":"Danny Willett",
"rounds":[
{
"number":1,
"score":"75"
},
{
"number":2,
"score":"--"
}
],
"today":"-",
"thru":"7:41 PM"
}
]
}
]
我的代码解析模型从用户类开始,并从内部填充:
class User {
String name;
List<Golfer> golfers;
User({@required this.name,
@required this.golfers});
static User fromJson(Map<String, dynamic> json) {
return User(name: json["name"],
golfers: json["golfers"].map((golfer) => Golfer.fromJson(golfer)).toList());
}
}
class Golfer {
String name;
List<Round> rounds;
String today;
String thru;
String score(int roundNumber) {
return rounds[roundNumber].score;
}
Golfer({@required this.name,
@required this.rounds,
@required this.today,
@required this.thru});
static Golfer fromJson(Map<String, dynamic> json) {
return Golfer(name: json["name"],
rounds: json["rounds"].map((round) => Round.fromJson(round)).toList(),
today: json["today"].toString(),
thru: json["thru"].toString());
}
}
class Round {
String number;
String score;
Round({@required this.number,
@required this.score});
static Round fromJson(Map<String, dynamic> json) {
return Round(number: json["number"].toString(),
score: json["score"].toString());
}
}
类用户{
字符串名;
列出高尔夫球手名单;
用户({@required this.name,
@需要这个。高尔夫球手});
静态用户fromJson(映射json){
返回用户(名称:json[“name”],
golfers:json[“golfers”].map((golfer)=>golfer.fromJson(golfer)).toList();
}
}
职业高尔夫球手{
字符串名;
列出轮数;
今天的弦;
串通;
字符串分数(整数整数整数){
返回轮数[轮数]。得分;
}
高尔夫球手({@required this.name,
@需要这个,
@需要这个,今天,
@需要这个。通过});
静态高尔夫球手fromJson(地图json){
返回高尔夫球手(姓名:json[“姓名”],
rounds:json[“rounds”].map((round)=>round.fromJson(round)).toList(),
today:json[“today”].toString(),
thru:json[“thru”].toString();
}
}
班级轮换{
字符串编号;
弦乐;
舍入({@required this.number,
@需要这个。分数});
静态Round fromJson(映射json){
返回轮(编号:json[“number”].toString(),
score:json[“score”].toString();
}
}
但是当我调用json.decode(response.body)).map((user)=>user.fromJson(user)).toList()时,我得到了以下错误预期值为'List'类型,但得到了'List'类型的值。
我看不出我错在哪里,我确信这很简单,但我就是看不到
这个错误也很具体,但出于某种原因,我似乎无法正确地解析这些回合
json的链接是在转换toList()时尝试定义泛型类型
e、 g。
替换
与
与
golfers:json[“golfers”].map((golfer)=>golfer.fromJson(golfer)).toList()
转换时尝试定义泛型类型toList()
e、 g。
替换
与
与
golfers:json[“golfers”].map((golfer)=>golfer.fromJson(golfer)).toList()
尝试使用此工具生成模型尝试使用此工具生成模型
rounds: json["rounds"].map((round) => Round.fromJson(round)).toList(),
rounds: json["rounds"].map<Round>((round) => Round.fromJson(round)).toList(),
golfers: json["golfers"].map((golfer) => Golfer.fromJson(golfer)).toList()
golfers: json["golfers"].map<Golfer>((golfer) => Golfer.fromJson(golfer)).toList()