Dart 模型在混合多种数据类型时抛出错误

Dart model throws error when mixing many data types

我制作了这个简单的模型来使用 API

class BooksModel {
  List<_Book> _books = [];
  BooksModel.fromJson(Map<dynamic, dynamic> parsedJson) {
    List<_Book> temp = [];
    for (int i = 0; i < parsedJson['books'].length; i++) {
      _Book book = _Book(parsedJson['books'][i]);
      temp.add(book);
    }
    _books = temp;
  }
  List<_Book> get books => _books;
}

class _Book {
    int _id;
    String _name;
  _Book(book) {
      _id = book['id'];
      _name = book['name'];
  }
  int get id => _id;
  int get name => _name;
}

问题是我必须将所有“_Book”class 属性转为 'String',如果我只制作一个 'int',如上例所示,它会抛出此错误.

type 'String' is not a subtype of type 'int'

我什至没有在我的应用程序中使用 'id',它是 'int',所以这与它的使用无关,问题出在这个模型中

你能否展示你的 json 的例子,这样我就可以告诉你你的模型应该是什么或者哪里出了问题。 所以也许你的问题不是那么大,需要的 id 是整数,你传递的是字符串。

book['id']是字符串吗? 试一试:

// _id = book['id'];
   _id = int.parse(book['id']);