我正在学习飞镖和颤振。现在,我尝试将JSON作为一种持久性方法。我犯了很多错误,都是关于类型和内容的。这是我遇到的最新错误:\u TypeError(type)列表
这是一节课:
import './topic.dart';
class Subject {
String name;
int order;
bool isMajor;
List<Topic> topics;
Subject({this.name, this.order, this.isMajor, this.topics});
factory Subject.fromJSON(Map<String, dynamic> json) {
if (json != null) {
return Subject(
name: json['name'],
order: json['order'],
isMajor: json['isMajor'],
topics: [Topic.fromJSON(json['topics'])]);
} else {
return null;
}
}
}
主题类是:
import './content.dart';
class Topic {
String name;
int order;
List<Content> contents;
Topic({this.name, this.order, this.contents});
factory Topic.fromJSON(Map<String, dynamic> json) {
if (json != null) {
return Topic(
name: json['name'],
order: json['order'],
contents: [Content.fromJSON(json['contents'])]);
} else {
return null;
}
}
}
错误出现在这里:
[Topic.fromJSON(json['主题')]
。
有人能帮忙吗?谢谢你!
主题应该是
topics: List<Topic>.from(json["topics"].map((x) => Topic.fromJson(x))),
因为你没有提供Content
类,我假设它有name
和order
属性
你可以使用subject=subjectFromJson(jsonString);
来解析jsonString
全相关类
// To parse this JSON data, do
//
// final subject = subjectFromJson(jsonString);
import 'dart:convert';
Subject subjectFromJson(String str) => Subject.fromJson(json.decode(str));
String subjectToJson(Subject data) => json.encode(data.toJson());
class Subject {
String name;
int order;
bool isMajor;
List<Topic> topics;
Subject({
this.name,
this.order,
this.isMajor,
this.topics,
});
factory Subject.fromJson(Map<String, dynamic> json) => Subject(
name: json["name"],
order: json["order"],
isMajor: json["isMajor"],
topics: List<Topic>.from(json["topics"].map((x) => Topic.fromJson(x))),
);
Map<String, dynamic> toJson() => {
"name": name,
"order": order,
"isMajor": isMajor,
"topics": List<dynamic>.from(topics.map((x) => x.toJson())),
};
}
class Topic {
String name;
int order;
List<Content> contents;
Topic({
this.name,
this.order,
this.contents,
});
factory Topic.fromJson(Map<String, dynamic> json) => Topic(
name: json["name"],
order: json["order"],
contents: List<Content>.from(json["contents"].map((x) => Content.fromJson(x))),
);
Map<String, dynamic> toJson() => {
"name": name,
"order": order,
"contents": List<dynamic>.from(contents.map((x) => x.toJson())),
};
}
class Content {
String name;
int order;
Content({
this.name,
this.order,
});
factory Content.fromJson(Map<String, dynamic> json) => Content(
name: json["name"],
order: json["order"],
);
Map<String, dynamic> toJson() => {
"name": name,
"order": order,
};
}
需要你的帮助解决这个错误在Flutter...也如何在其他屏幕上使用这个回调的实例? 这是我的留言。json数据模型 我的消息是一个模型。飞奔 这是我的留言。飞奔 _TypeError(类型“List”不是类型“Map”的子类型
我在这里做了一个类似的帖子:问题,但我做了同样的事情,我一直是问题... 我有我的班级: ask API的方法: 当我询问我的API时,请求的结果是: {结果:[{id:2,题为:语言利用率是多少?难度:1,答案:[{id:9,题为:Oui,isCorrect:true},{id:10,题为:Non,isCorrect:false}],页码:3,下一步:http://localhost:3000/
我对getruangfasiliti方法有问题。有没有办法修复这个错误?我已经为此工作了好几个星期了。 尝试这个,但它不是我想要的。我要得到这个物体的所有数据 下面是我的代码以及如何修复错误。我不知道我的错在哪里 模型Aduan.dart 阿杜安。飞奔 这是我的错误
我正在开发一个依靠API REST调用的flutter应用程序。来自API的响应有点复杂。当调用我的API(例如:api/产品)时,我可以从日志中看到响应:但是我有这个错误: 类型列表 StackTrace: [更新]:退货产品响应。fromJson(response)而不是response ProductsRespository: ProductsBloc: 回应: ApiProvider: 模
在这里,我试图创建一个未来的listview生成器,得到一条错误消息:_TypeError(type'List'不是type'Map'的子类型)flift。我需要在列表视图中获取帖子中的所有数据。使用JSON到dart转换器quicktype创建模型类。木卫一 未来电话 模型
我从Firestore示例中复制了一段代码: 但是我得到了这个错误 这里出了什么问题?