Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 发生异常_TypeError(type';List<;dynamic>;';不是type';Map<;String,dynamic>;';的子类型)请键入我_Flutter_Dart - Fatal编程技术网

Flutter 发生异常_TypeError(type';List<;dynamic>;';不是type';Map<;String,dynamic>;';的子类型)请键入我

Flutter 发生异常_TypeError(type';List<;dynamic>;';不是type';Map<;String,dynamic>;';的子类型)请键入我,flutter,dart,Flutter,Dart,大宗报价 我开始研究json并面临这样的问题。来自unsplash的api。对不起,如果有什么不清楚的地方,这是我第一次把问题留在这里 `import 'dart:convert'; import 'package:http/http.dart' as http; class OfficesList { List<Office> offices; OfficesList({this.offices}); factory OfficesList.fromJson(Map<

大宗报价

我开始研究json并面临这样的问题。来自unsplash的api。对不起,如果有什么不清楚的地方,这是我第一次把问题留在这里

`import 'dart:convert';

import 'package:http/http.dart' as http;

class OfficesList {
List<Office> offices;
OfficesList({this.offices});

factory OfficesList.fromJson(Map<String, dynamic> json) {
var officesJson = json['self'] as List;

List<Office> officesList = officesJson.map((i) => Office.fromJson(i));

return OfficesList(
  offices: officesList,
);
}
}

class Office {
final String username;
final String createdAt;
final String image;

Office({this.username, this.createdAt, this.image});

factory Office.fromJson(Map<String, dynamic> json) {
return Office(
    username: json['updated_ad'] as String,
    createdAt: json['created_at'] as String,
    image: json['id'] as String);
}
}

Future<OfficesList> getOfficesList() async {
const url =
  'https://api.unsplash.com/photos? 
client_id=6L1WckRABJLdhkHch6iFN9qMhPaUVQKtyPuCw90wZdI';
final response = await http.get(url);
if (response.statusCode == 200) {
return OfficesList.fromJson(json.decode(response.body));
} else {
throw Exception('Error: ${response.reasonPhrase}');
}
}`
‘导入’省道:转换’;
将“package:http/http.dart”导入为http;
班主任名单{
名单办事处;
办事处名单({this.offices});
FactoryOfficesList.fromJson(映射json){
var officejson=json['self']作为列表;
List officesList=officesJson.map((i)=>Office.fromJson(i));
返回办事处名单(
办公室:办公室名单,
);
}
}
班级办公室{
最终字符串用户名;
最终字符串createdAt;
最终字符串图像;
Office({this.username,this.createdAt,this.image});
factory Office.fromJson(映射json){
返回办公室(
用户名:json['updated_ad']作为字符串,
createdAt:json['created_at']作为字符串,
图像:json['id']作为字符串);
}
}
未来的getOfficeList()异步{
常量url=
'https://api.unsplash.com/photos? 
客户id=6L1WCKRABJBLDHKHCH6IFN9QMHPAUVQKTYPUCW90WZDI';
最终响应=等待http.get(url);
如果(response.statusCode==200){
return OfficesList.fromJson(json.decode(response.body));
}否则{
抛出异常('Error:${response.reasonPhrase}');
}
}`

作为api调用的响应,您将收到一个
Office
列表,但您正在解码它,就像收到一个一样。请尝试以下代码来解析api响应:

List<Office> offices= new List<Office>();
List<dynamic> json = json.decode(response.body);
offices= json.map((i)=>Office.fromJson(i)).toList();
List offices=new List();
List json=json.decode(response.body);
offices=json.map((i)=>Office.fromJson(i)).toList();

请告诉我这是否解决了您的问题。

您能给出您收到的回复吗?@Lapa Ny Aina Tanjona,出现了异常情况_TypeError(类型“List”不是类型“Map”的子类型)