title: Error: List<dynamic> is not a subtype of type Map<String, dynamic>
body: <p>I am currently building an app to read data through an api and I am trying to parse a JSON api from JSON Placeholder.</p>
  
  <p>I made a model class for the Users (users_future_model.dart):</p>
  
  <pre><code>class Users {
    final int userID;
    final String name;
    final String username;
    final String email;
    final Address address;
  
    Users({this.userID, this.name, this.username, this.email, this.address});
  
    factory Users.fromJson(Map&lt;String, dynamic&gt; usersjson)=&gt; Users(
        userID: usersjson["id"],
        name: usersjson["name"],
        username: usersjson["username"],
        email: usersjson["email"],
        address: Address.fromJson(usersjson["address"])
    );
  }
  
  class Address{
  
    final String street;
    final String suite;
    final String city;
    final String zipcode;
  
    Address({this.street, this.suite, this.city, this.zipcode});
  
    factory Address.fromJson(Map&lt;String, dynamic&gt; addjson){
  
      return Address(
        street: addjson["street"],
        suite:  addjson["suite"],
        city: addjson["city"],
        zipcode: addjson["zipcode"]
      );
    }
  }
  </code></pre>
  
  <p>This is the main.dart to read the json into the widget:</p>
  
  <pre><code>import 'package:flutter/material.dart';
  import 'model/users_future_model.dart';
  import 'dart:convert';
  import 'dart:async';
  import 'package:http/http.dart' as http;
  
  final String jsonplaceholder = "http://jsonplaceholder.typicode.com/users/";
  
  //Future method to read the URL
  Future&lt;Users&gt; fetchInfo() async{
    final response = await http.get(jsonplaceholder);
    final jsonresponse = json.decode(response.body);
  
    return Users.fromJson(jsonresponse);
  }
  
  void main() {
    runApp(new MyApp());
  }
  
  class MyApp extends StatelessWidget {
    @override
    Widget build(BuildContext context) {
      return new MaterialApp(
        home: new MyHomePage(),
      );
    }
  }
  
  class MyHomePage extends StatefulWidget {
    @override
    _MyHomePageState createState() =&gt; new _MyHomePageState();
  }
  
  class _MyHomePageState extends State&lt;MyHomePage&gt; {
  
    @override
    Widget build(BuildContext context) {
      return new Scaffold(
        appBar: new AppBar(
          title: new Text("Parse JSON"),
        ),
        body: new Center(
          child: new Column(
            children: &lt;Widget&gt;[
              new FutureBuilder(
                  future: fetchInfo(),
                  builder: (context, snapshot){
                    if(snapshot.hasData){
                      return new Text(snapshot.data.email);
                    }else if(snapshot.hasError){
                      return new Text("Error ${snapshot.error}");
                    }
                  })
            ],
          ),
        )
      );
    }
  }
  </code></pre>
  
  <p>This is the JSON information i'm trying to read although its only a small part of it:</p>
  
  <pre><code>{
  id: 1,
  name: "Leanne Graham",
  username: "Bret",
  email: "Sincere@april.biz",
  address: {
   street: "Kulas Light",
   suite: "Apt. 556",
   city: "Gwenborough",
   zipcode: "92998-3874",
   geo: {
    lat: "-37.3159",
    lng: "81.1496"
   }
  },
  phone: "1-770-736-8031 x56442",
  website: "hildegard.org",
  company: {
   name: "Romaguera-Crona",
   catchPhrase: "Multi-layered client-server neural-net",
   bs: "harness real-time e-markets"
  }
  }
  </code></pre>
  
  <p>The error i am currently running into is:</p>
  
  <pre><code>Error type 'List&lt;dynamic&gt;' is not a subtype of type 'Map&lt;String, dynamic&gt;'
  </code></pre>
  
  <p>How do i rectify this error?</p>