Leitura JSON a partir do arquivo usando Gson no Android Estúdio

Brady Harper:

Eu estou tentando ler JSON de um arquivo de armazenamento interno em uma lista de objetos.

Meu código para a leitura do arquivo e GSONé:

fis = openFileInput(filename);

BufferedReader reader = new BufferedReader(new InputStreamReader(fis));

StringBuilder data = new StringBuilder();
String line = null;

line = reader.readLine();

while (line != null)
{
     data.append(line).append("\n");
}

data.toString();

reader.close();
fis.close();

Type walletListType = new TypeToken<ArrayList<WalletClass>>(){}.getType();
walletList.add(new Gson().fromJson(data, walletListType));

No entanto, estou recebendo o erro

não pode método de determinação fromJson ( 'java.lang.stringBuilder, java.lang.reflect.Type')

O JSON Eu estou tentando carga é (é dentro dos colchetes porque eu serializada-lo a partir de uma lista de objetos):

[
   {"balance":258,"walletName":"wallet 1"},
   {"balance":5222,"walletName":"wallet 2"},
   {"balance":1,"walletName":"wallet 3"}
]

Eu sei que uma correção comum para isso é mudar o código de importação a partir orgde com, no entanto eu já fiz certeza de que ele é com.

alainlompo:

o Gson fornecer uma série de sobrecargas para o fromJsonmétodo, aqui estão as suas assinaturas:

sobrecargas fromJson

Mas como você pode ver nenhum deles leva o StringBuilder como primeiro argumento. Isso é o que o compilador está reclamando. Em vez disso você tem construtores que levam uma string como primeiro argumento.

Então, substituir esta linha:

walletList.add(new Gson().fromJson(data, walletListType));

com:

walletList.add(new Gson().fromJson(data.toString(), walletListType));

E você deve ser bom para ir.

Acho que você gosta

Origin http://43.154.161.224:23101/article/api/json?id=296870&siteId=1
Recomendado
Clasificación