【发布时间】:2020-11-16 19:14:25
【问题描述】:
我正在尝试从 json API 获取数据到我的颤振移动应用程序。但我失败了。
我认为我的 model.dart 文件有问题。
这是我的 model.dart 代码
import 'dart:async';
import 'dart:convert';
import 'package:flutter/foundation.dart';
import 'package:http/http.dart' as http;
Future<List<Book>> fetchBooks(http.Client client) async {
final response =
await client.get('https://boimarket.abirahsan.com/public/api/v1/books');
// Use the compute function to run parsePhotos in a separate isolate.
return compute(parseBooks, response.body);
}
// A function that converts a response body into a List<Photo>.
List<Book> parseBooks(String responseBody) {
final parsed = jsonDecode(responseBody).cast<Map<String, dynamic>>();
return parsed.map<Book>((json) => Book.fromJson(json)).toList();
}
class Book {
final String name;
final String author;
final String genreClass;
final String imgUrl;
final String pdf;
final int category;
Book({
this.name,
this.author,
this.genreClass,
this.imgUrl,
this.pdf,
this.category,
});
factory Book.fromJson(Map<String, dynamic> json) {
return Book(
name: json['name'] as String,
imgUrl: json['image'] as String,
pdf: json['pdf'] as String,
author: json['author'] as String,
genreClass: json['genre_class'] as String,
category: json['category'] as int,
);
}
}
这是我的输出图像
问题出在哪里?我该如何解决?
【问题讨论】: