«_InternalLinkedHashMap 'не является подтипом типа' List <dynamic>'flutter - PullRequest
0 голосов
/ 23 марта 2020

Я только начал потреблять api с dart и flutter. Я успешно завершил несколько, но нахожу это немного сложным. Итак, я работаю над отображением списка элементов, из которых пользователи могут выбирать. Текст каждого элемента списка должен быть ключом данных. После нажатия на него отображаются все сведения об этом индексе.

Это ответ, который я пытаюсь использовать.

Ответ

{
    "status": "success",
    "data": {
        "Ikeja Electric (IKEDC)": {
            "service_id": "ikeja-electric",
            "type": [
                "prepaid",
                "postpaid"
            ]
        },
        "Eko Electric (EKEDC)": {
            "service_id": "eko-electric",
            "type": [
                "prepaid",
                "postpaid"
            ]
        },
        "Ibadan Electric (IBEDC)": {
            "service_id": "ibadan-electric",
            "type": [
                "prepaid",
                "postpaid"
            ]
        },
        "Kano Electric (KEDCO)": {
            "service_id": "kano-electric",
            "type": [
                "prepaid",
                "postpaid"
            ]
        },
        "Jos Electricity Distribution (JED)": {
            "service_id": "jos-electric",
            "type": [
                "prepaid",
                "postpaid"
            ]
        },
        "Port-Harcourt Electric (PHED)": {
            "service_id": "portharcourt-electric",
            "type": [
                "prepaid",
                "postpaid"
            ]
        }
    }
}

получить запрос

Map<String, dynamic> networks;
...

fetchNetworks() async{
    var uri = ApiService.BASE_URL + "endpoint";
    try {
      final response = await http.get(
        uri,
        headers: {'Content-Type': 'application/json','Authorization': 'Bearer ' + _bloc.bearerToken, },
      );
      final responseJson = json.decode(response.body);
      print(responseJson.toString());
      setState(() {
        widget.networks = responseJson["data"];
      });
      return responseJson;
    } catch (exception) {
      print(exception);
    }
  }
}

I

Если я хочу использовать модель, как мне ее структурировать?

1 Ответ

0 голосов
/ 29 марта 2020

Я бы предложил использовать эту библиотеку https://github.com/k-paxian/dart-json-mapper Это позволит вам красиво сопоставить ваши сложные JSON с классами дротиков

...