la conversion de json avec gson erreur Devrait BEGIN_OBJECT mais a été BEGIN_ARRAY à la ligne 1 de la colonne 2 chemin $

[{"user_id":"5633795","username":"_Vorago_","count300":"203483","count100":"16021","count50":"1517","playcount":"1634","ranked_score":"179618425","total_score":"1394180836","pp_rank":"34054","level":"59.6052","pp_raw":"1723.43","accuracy":"96.77945709228516","count_rank_ss":"1","count_rank_s":"19","count_rank_a":"17","country":"US","events":[]}]

Je suis en train de convertir au format JSON ci-dessus avec GSON, mais je suis en cours d'exécution dans les erreurs.

package com.grapefruitcode.osu;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;

import com.google.gson.Gson;

public class Main {

static String ApiKey = "";
public static void main(String[]Args) throws Exception{
    String json = readUrl("");
    System.out.println(json);
    Gson gson = new Gson();
    User user = gson.fromJson(json, User.class);
    System.out.println();
}

private static String readUrl(String urlString) throws Exception {
    BufferedReader reader = null;
    try {
        URL url = new URL(urlString);
        reader = new BufferedReader(new InputStreamReader(url.openStream()));
        StringBuffer buffer = new StringBuffer();
        int read;
        char[] chars = new char[1024];
        while ((read = reader.read(chars)) != -1)
            buffer.append(chars, 0, read); 

        return buffer.toString();
    } finally {
        if (reader != null)
            reader.close();
    }
}

}

L'url et la clé api sont vides pour des raisons de sécurité, les variables sont remplies, quand je lance le code et le json est convertie en une chaîne correctement. Je l'ai testé déjà. Si quelqu'un pourrait me dire quelle est la cause de l'erreur, ce serait merveilleux.

package com.grapefruitcode.osu;

public class User {
 String user_id = "";
 String username = "";
 String count300 = "";
 String count100= "";
}
Votre analyse d'un tableau dans le Json quand elle attend un objet par exemple, supprimer les crochets.

OriginalL'auteur Alex Markovich | 2015-02-03