0

我制作了这个简单的模型来使用 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' 类属性转换为 'String',如果我只制作了上面示例中给出的一个 'int',则会引发此错误。

“String”类型不是“int”类型的子类型

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

4

2 回答 2

1

您能否仅展示您的 json 示例,以便我可以告诉您您的模型应该是什么或哪里出错了。因此,也许您的问题不是那么大,所需的 id 是整数,并且您正在传递字符串。

于 2020-02-23T16:42:58.757 回答
1

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

// _id = book['id'];
   _id = int.parse(book['id']);
于 2020-02-23T17:00:03.967 回答