Lecture JSON de fichier en utilisant GSON dans Android studio

Brady Harper:

Je suis en train de lire un fichier JSON à partir de stockage interne dans une liste d'objets.

Mon code pour lire le fichier et GSONest:

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));

Cependant, je reçois l'erreur

Ne peut pas résoudre la méthode fromJson ( 'java.lang.StringBuilder, java.lang.reflect.Type')

JSON Je suis en train de charge est (il est à l'intérieur des crochets parce que je l'ai sérialisé dans une liste d'objets):

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

Je sais une solution courante est en train de changer le code d'importation de orgla com, mais je l' ai déjà fait en sorte qu'il est com.

alainlompo:

la Gson fournir beaucoup de pour la surcharge fromJsonméthode, voici leurs signatures:

fromJson surcharge

Mais comme vous pouvez le voir aucun d'entre eux prend la StringBuilder comme premier argument. C'est ce que le compilateur se plaint. Au lieu de cela , vous avez des constructeurs qui utilisent une chaîne comme premier argument.

Donc remplacer cette ligne:

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

avec:

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

Et vous devriez être bon d'aller.

Je suppose que tu aimes

Origine http://43.154.161.224:23101/article/api/json?id=296872&siteId=1
conseillé
Classement