我的JSON有点像这样:
{“数据”:{“id”:1,“title”:“title 1”,“图像”:[{“small”:“link”,“large”:“link”}}
我的模型类:
class Test {
final int id;
final String title;
final Images images;
Test({required this.id,
required this.title,
required this.images});
Test.fromJson(Map<dynamic, dynamic> parsedJson) :
id = parsedJson["id"],
title = parsedJson["title"],
images = Images.fromJson(parsedJson['images']);
class Images {
final String small;
final String large;
Images({
required this.small,
required this.large
});
factory Images.fromJson(Map<dynamic, dynamic> json) {
return Images(
small : json["small"] as String,
large : json["large"] as String
);}
}
这是我的api调用:
static Future<Test> getTest(int id) async{
final response = await http.get(Uri.parse("url_here"));
if(response.statusCode == 200){
Map<String, dynamic> json = jsonDecode(response.body);
dynamic body = json['data'];
Test test = Test.fromJson(body);
return test;
}
else{
throw("message");
}
}
如何获取图像。小班?如果我需要澄清我的问题,请告诉我。我得到的错误列表不是Map类型的子类型
您可以尝试使用此型号:
import 'dart:convert';
Test testFromJson(String str) => Test.fromJson(json.decode(str));
String testToJson(Test data) => json.encode(data.toJson());
class Test {
Test({
this.id,
this.title,
this.images,
});
int id;
String title;
List<Images> images;
factory Test.fromJson(Map<String, dynamic> json) => Test(
id: json["id"],
title: json["title"],
images: List<Images>.from(json["images"].map((x) => Images.fromJson(x))),
);
Map<String, dynamic> toJson() => {
"id": id,
"title": title,
"images": List<dynamic>.from(images.map((x) => x.toJson())),
};
}
class Images {
Images({
this.small,
this.large,
});
String small;
String large;
factory Images.fromJson(Map<String, dynamic> json) => Images(
small: json["small"],
large: json["large"],
);
Map<String, dynamic> toJson() => {
"small": small,
"large": large,
};
}
这里的图像列表已直接映射到相应的图像类对象,从而解决了您的问题。
图像:[{小:链接,大:链接}]
这是一个列表映射,您将它转换为字符串映射。
使用图像:{小:链接,大:链接}
或使用
dart prettyprint-override">factory Images.fromJson(List<dynamic> json) {
return Images(
small : json[0]["small"] as String,
large : json[0]["large"] as String
);}
如果有人知道如何修复这个错误,我会非常感激!我只是想使用API访问网站,saleTitle和saleCode然后显示它。所有的代码都在下面,希望这只是一个我忽略的简单修复 任何想要查看数据结构的人都可以使用API 或者这里的Json数据 模型 屏幕文件
我目前正在构建一个应用程序,通过医疗api读取数据,我试图解析JSON。 我为用户创建了一个模型类: 这是我试图阅读的JSON信息: 但是我得到的错误列表不是Map类型的子类型 如何修复此错误?
当我尝试解码json时,它会给我错误。 我的模范班 功能在我使用它的地方 json数据
out webserver将此结果返回为: 我用这个结构类来解析它 现在,当我从服务器成功获取数据时,我无法返回该数据,例如: 对于这行代码: 返回tring.map 我得到这个错误: 类型列表不是类型转换中的类型映射的子类型
我正面临着一个奇怪的颤动错误。我使用json序列化。 这是我的密码 我的web api发送的数据如下 这是数组的数组。 生成错误的代码是 它给出的错误 JSON数据这里是JSON数据格式的屏幕截图
我是颤振开发方面的新手。我犯了一个错误 列表不是“Iterable”类型的子类型 到目前为止,我已经做到了。 模范班 缅因州班内 } 我试图从2天开始解决这个问题。 请帮忙,谢谢。 这里是JSON响应,您可以检查链接