- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在学习Dart和Flutter。现在,我尝试将JSON作为一种持久性方法。我遇到很多错误,所有错误都与类型和内容有关。这是我遇到的最新错误:_TypeError (type 'List<dynamic>' is not a subtype of type 'Map<String, dynamic>')
。
这是类(class):
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'])]
。
最佳答案
主题应该是
topics: List<Topic>.from(json["topics"].map((x) => Topic.fromJson(x))),
Content
类,所以我假设它具有
name
和
order
属性
Subject 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,
};
}
关于json - _TypeError(类型 'List<dynamic>'不是类型 'Map<String, dynamic>'的子类型),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60606623/
我试图以Json的身份从我的数据库(MYSQL DATABASE)添加数据,但我得到此错误可以帮助我,因为我正在寻找问题的解决方案,但我找不到它 import 'package:flutter
here is the picture 这是代码。我收到此类错误。谁能解决这个问题。 _getAllHotProducts() async { var hotProducts = await
我正在学习Dart和Flutter。现在,我尝试将JSON作为一种持久性方法。我遇到很多错误,所有错误都与类型和内容有关。这是我遇到的最新错误:_TypeError (type 'List' is n
我在 flutter 中遇到了一个奇怪的错误。我正在使用 json 可序列化。 这是我的代码 class DivMatches{ final List matches; DivMatches
ta田 使用flutter auth0,将其重定向到auth0的auth0身份验证页面时会出现问题。 最佳答案 您的直接问题是您在某个地方有一个错误处理程序函数,该函数仅接受HttpException
我是 Flutter 的新手,遇到了类型错误。我正在尝试使用 json 自动序列化。 在做了一些调整之后,这里是它的样子 这是我尝试从 api 获取数据的方式 Future getMyProduc
我是一名优秀的程序员,十分优秀!