我正在尝试从中获取JSONhttps://jsonplaceholder.typicode.com/photos/但获取类似未处理异常的错误:类型“List”不是类型“Map”的子类型
有办法吗?
这是我的代码。
主要的飞奔
import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:http/http.dart' show get;
import 'src/widgets/image_list.dart';
import 'src/models/imageloader.dart';
void main() {
runApp(App());
}
class App extends StatelessWidget {
Widget build(BuildContext context) {
return MaterialApp(
title: "app",
theme: ThemeData(primarySwatch: Colors.blue),
home: homePage(),
);
}
}
class homePage extends StatefulWidget {
@override
_homePageState createState() => _homePageState();
}
class _homePageState extends State<homePage> {
int counter = 0;
List<ImageLoader> images = [];
void loadImage() async {
counter++;
var response =
await get(Uri.parse('https://jsonplaceholder.typicode.com/photos/'));
var imageModel = ImageLoader.fromJson(jsonDecode(response.body));
/* var imagemodel = imageModel.map((i) => ImageLoader.fromJson(i)).toList(); */
setState(() {
images.add(imageModel);
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Let's load some images"),
),
floatingActionButton: FloatingActionButton(
onPressed: loadImage,
child: Icon(Icons.add),
),
body: ImageList(images),
);
}
}
影印机。飞奔
class ImageLoader {
int id = 0;
String url = "";
String title = "";
ImageLoader(this.id, this.url, this.title);
ImageLoader.fromJson(Map<String, dynamic> parsedJson) {
id = parsedJson['id'];
url = parsedJson['url'];
title = parsedJson['title'];
}
}
image_list.dart
import 'package:flutter/material.dart';
import '../models/imageloader.dart';
class ImageList extends StatelessWidget {
final List<ImageLoader> images;
ImageList(
this.images,
);
Widget build(BuildContext context) {
return ListView.builder(
itemCount: images.length,
itemBuilder: (context, int index) {
return Text(images[index].url);
},
);
}
}
调试控制台:
未处理的异常:类型列表不是类型映射的子类型
您的响应出现在一个列表中,其中包含您想要的地图。在您的var响应
行下使用此选项,它应该可以工作:
List<ImageLoader> _images = [];
var decodedResponse = jsonDecode(response.body);
for (var item in decodedResponse) {
_images.add(ImageLoader.fromJson(item));
}
setState(() {
images= _images;
});
我有来自API的响应文本。当我试图创建一个新的游戏从这个响应我得到一个错误: 错误:未处理的异常:“列表”类型不是“列表”类型的子类型 我在尝试使用JSON文本时遇到如下错误: 错误: 未处理的异常:“列表”类型不是“列表”类型的子类型 它指向游戏类中的这一行: 有什么建议吗?
我试图从服务器获取JSON响应并将其输出到控制台。 未处理的异常:类型“\u InternalLinkedHashMap” 原因可能是什么?
我试图从Web API获取数据,我使用此方法获取: 我得到这个错误: 在这方面:
我对Flutter编程非常陌生,我正在尝试导入一个本地JSON文件,其中包含书籍数据,如标题、作者、发布年份等。 最初我使用JSON-to-DART转换器来组装一个图书数据模型,现在我正在尝试创建一个函数,在该函数中,程序获取本地JSON文件,并使用类中的方法将数据解析为地图。 我遇到的问题是返回类型
我收到了错误消息: 被精确定位的线在这里: 返回类型为
我是一个新的颤振和得到类型错误。我正在尝试使用json自动序列化。 在做了一些调整后这里看起来是这样的 下面是我如何尝试从api获取数据 我的类如下所示 谁能帮我一下吗。我被困在这里了。我一直在尝试不同的方法,但都不管用。非常感谢。