When you retrieve data from a web API, the first step is usually to define which fields you are interested in. In this case, we only want to show a selection of the available data that Google Books publishes: in particular the ID, title, authors, thumbnail, and a description of each book.
When a web service returns data in JSON format, in Dart and Flutter you can treat it as a Map. The name of the fields are strings, and the values can be any data type: that's why we created a constructor that takes a Map<String, dynamic> and returns a Book.
In the Book.fromJson constructor, based on the JSON format returned by the service, you read the relevant data. Note the instructions:
String image = parsedJson['volumeInfo']['imageLinks'] == null
? ''
: parsedJson['volumeInfo']['imageLinks']['thumbnail'];
image.replaceAll('http://', 'https://');
When you read data returned by a web service...