首页 > 解决方案 > Flutter - 映射 JSON

问题描述

我是 DART / FLUTER 的新手,仍然有很多困难。我有一个注册功能,我需要返回 Json MAP 中的 2 个属性。构造下面的函数但返回错误

[错误:颤振/lib/ui/ui_dart_state.cc(157)]未处理的异常:类型_InternalLinkedHashMap'不是List类型的子类型

你能帮助我吗?

关于我的代码:

    saveClient(Cliente cliente) async {
      final Map<String, dynamic> clienteMap = {
        "nome": cliente.nome,
        "email": cliente.email,
        "senha": cliente.senha,
        "celular": cliente.celular,
      };

      final String clientJson = jsonEncode(clienteMap);
      client.post(baseUrl + '/usuario',
          headers: {'Content-type': 'application/json', 'password': 'admin'},
          body: clientJson);


      final Response response = await client.get(baseUrl + '/usuario/id');
      final List<dynamic> decodedJson = jsonDecode(response.body);
      final List<ClienteDto> dataUser = List();
      for (Map<String, dynamic> clienteJson in decodedJson) {
        final ClienteDto cliente = ClienteDto(
          clienteJson['id'],
          clienteJson['nome'],
        );
        dataUser.add(cliente);
        print(dataUser);
      }
      return dataUser;
    }

标签: flutterdart

解决方案


您正在尝试将解码的 JSON 响应(即 )分配MapList无效的分配。您应该尝试打印结果jsonDecode(response.body)以找出您关心的结果的实际部分在响应中的位置。


推荐阅读