Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Erro provável no decode do json

======== Exception caught by widgets library ======================================================= Unexpected character (at character 1) TypedDataView(cid: 142) ^

Escrevi o código que nem a instutora, porém tive problemas na hora de subir o projeto pro simulador. Nos arquivos .dart não tem erro de sintaxe. Tentei buscar ajuda no stackoverflow mas não achei nada significativo. Alguém teve o mesmo problema ao fazer essa parte de pegar os dados do .json?

2 respostas

Bom dia Wilkison! Tudo de boas?

Então, vou pedir pra você me passar o erro completo, pode ser?

Qual sua versão do Flutter e dart? ( para saber basta escrever flutter --version) Assim consigo ter uma noção melhor do problema :)

solução!

Achei o erro. Foi um erro de digitação devido ao auto complete do IDE.

Widget _construirListaCard() {
    return SizedBox(
        child: FutureBuilder(
          future: DefaultAssetBundle.of(context).loadString('assets/receitas.json'),
          builder: (context, snapshot) {
            List<dynamic> receitas = json.decode(snapshot.data.toString());
            return ListView.builder(
              itemBuilder: (BuildContext context, int index) {
                Receita receita = Receita.fromJson(receitas[index]);
                return _construirCard(receita.titulo, receita.foto);
              },
              itemCount: receitas == null ? 0 : receitas.length,
            );
          },
        ));
  }

Na linha future: DefaultAssetBundle.of(context).loadString('assets/receitas.json'), o auto complete pegou a função "load" e não "loadString", e apesar de não dar erro de sintaxe devido aceitação do parâmetro, o erro causava erro de compilação.

Desculpe pelo incômodo.