title: Cast a list into a list of objects in dart
body: <p>the code below makes a rest call to a node.js server, which returns a json containing a series of values ​​these values ​​must be inserted in a list by casting the values ​​in a <strong>Cantiere</strong> type object. How can I go about doing this? 
  What I want to do is convert every single json into a construction-type object and then insert them in a list.</p>
  
  <p><strong>JSON Call Flutter:</strong></p>
  
  <pre><code>      static Future&lt;List&gt; Ricerca(Utente u, int IdCantiere, String NomeCantiere,
            String RagioneSociale, bool isUtente) async {
          var ret;
          Map map = {
            'IdUtente': u.GetIdUtente(),
            'IdCantiere': IdCantiere,
            'NomeCantiere': "a",
            'RagioneSociale': RagioneSociale,
            'CheckBoxCantieriCreatiDaUtenteLoggato': isUtente
          };
          String value = await apiRequest("/cantieri/ricerca", map);
  
  //The ret variable holds the json, what I want to do is create a list of Cantiere type objects.
          ret = json.decode(value); 
          return (ret as Iterable&lt;dynamic&gt; ?? const &lt;dynamic&gt;[])
      .map((dynamic jsonObject) =&gt; Cantiere(
            new Cliente(
                jsonObject["IdCliente"] as int,
                jsonObject["RagioneSociale"] as String,
                jsonObject["Filiale"] as String,),
            jsonObject["IdCantiere"] as int,
            jsonObject["NomeCantiere"] as String,
            jsonObject["DescrizioneEstesa"] as String,
            jsonObject["Tipologia"] as String,
            jsonObject["Stato"] as String,
            jsonObject["StatoFatturazione"] as String,
            jsonObject["DataCreazione"] as String,
          ))
      .toList();
        }
  </code></pre>
  
  <p><strong>Cantiere.dart and Cliente.dart</strong></p>
  
  <pre><code>    class Cliente {
            int _IdCliente;
            String _RagioneSociale;
            String _Filiale;
            Cliente(this._IdCliente, this._RagioneSociale, this._Filiale);
  
  
            String GetRagioneSociale() {
              return this._RagioneSociale;
            }
          }
              //Classe che rappresenta il cantiere
  class Cantiere {
  
    String _NomeCantiere,
        _Tipologia,
        _Stato,
        _StatoFatturazione,
        _DescrizioneEstesa,
        _DataCreazione;
    int _IdCantiere;
    Cliente _c;
  
    Cantiere(
        this._c,
        this._IdCantiere,
        this._NomeCantiere,
        this._DescrizioneEstesa,
        this._Tipologia,
        this._Stato,
        this._StatoFatturazione,
        this._DataCreazione);
  
              }
  </code></pre>
  
  <p><strong>JSON Example:</strong></p>
  
  <pre><code>[
      {
          "IdCantiere": 4,
          "IdCliente": 40,
          "Filiale": "SEDE",
          "RagioneSociale": "Ca asas",
          "NomeCantiere": "sala dd",
          "DataCreazioneCantiere": "2017-08-04T18:20:31.333Z",
          "Tipologia": "Consuntivo",
          "StatoCantiere": "Chiuso",
          "StatoFatturazione": 1,
          "DescrizioneEstesa": "asasas"
      },
  
          "IdCantiere": 5,
          "IdCliente": 40,
          "Filiale": "SEDE",
          "RagioneSociale": "Ca asas",
          "NomeCantiere": "sala dd",
          "DataCreazioneCantiere": "2017-08-04T18:20:31.333Z",
          "Tipologia": "Consuntivo",
          "StatoCantiere": "Chiuso",
          "StatoFatturazione": 1,
          "DescrizioneEstesa": "asasas"
      }
  
  ]
  </code></pre>