【发布时间】:2021-02-25 09:45:36
【问题描述】:
需要您帮助解决 Flutter 中的此错误...以及如何在其他屏幕上使用此回调的实例?
这是我的 message.json 数据模型
[
{
"title": "Title 1",
"body": "Lorem ipsum dolor sit amet. "
},
{
"title": "Title 1",
"body": "Lorem ipsum dolor sit amet. "
},
]
我的 message_model.dart
class MessagesList {
final List<Message> messages;
MessagesList(this.messages);
factory MessagesList.fromJson(List<dynamic> parsedJson) {
List<Message> messages = List<Message>();
messages = parsedJson.map((e) => Message.fromJson(e)).toList();
return MessagesList(messages);
}
}
class Message {
final String title;
final String body;
Message(this.title, this.body);
factory Message.fromJson(Map<String, dynamic> json) {
return Message(
json['title'].toString(),
json['body'].toString(),
);
}
}
这是我的 message_services.dart
_TypeError(类型 'List' 不是类型 'Map
' 的子类型)在 loadMessage 函数中(第 3 行 - fromJson 方法)。为什么?
Future<String> _loadMessageAsset() async {
return await rootBundle.loadString("./data/message.json");
}
Future loadMessage() async {
String jsonMessage = await _loadMessageAsset();
final jsonResponse = jsonDecode(jsonMessage);
Message message = Message.fromJson(jsonResponse);
print("Message -- " + message.title);
}
【问题讨论】:
-
你从哪里得到这个错误,在哪一行?您正在尝试从该地图中获取列表?地图只有字符串和动态类型对象,没有列表类型..
-
第3行抛出错误-"Message.fromJson(jsonResponse)"
标签: json flutter dart nsjsonserialization