2016-06-16 1 views

Répondre

0

Utilisez Retrofit. Il a le support de Gson.

Vous pouvez vous référer à quelques exemples/tutoriels ci-dessous.

1. Link1

2. Link2

0

Essayez d'utiliser Okhttp pour le format non norme JSON. gradle requis:

compile 'com.squareup.okhttp:okhttp:2.4.0' 
compile 'com.squareup.okio:okio:1.6.0' 

public static final MediaType JSON = MediaType 
     .parse("application/json; charset=utf-8"); 

public static String getJSONResponseFromOkhttp(OkHttpClient okHttpClient, String url) { 

    Request request = new Request.Builder().url(url).build(); 
//If require login in header.(O-Auth). Else don't use it. 
    okHttpClient.setAuthenticator(new Authenticator() { 
     @Override 
     public Request authenticate(Proxy proxy, Response response) throws IOException { 
      String credential = Credentials.basic("admin", "[email protected]"); 
      return response.request().newBuilder().header("Authorization", credential).build(); 
     } 

     @Override 
     public Request authenticateProxy(Proxy proxy, Response response) throws IOException { 
      return null; 
     } 
    }); 

    String jsonresponse = null; 
    try { 
     okHttpClient.setConnectTimeout(0, TimeUnit.SECONDS); // connect timeout 
     okHttpClient.setReadTimeout(0, TimeUnit.SECONDS); 

     Response response = okHttpClient.newCall(request).execute(); 
     jsonresponse = response.body().string(); 
//   Log.e("community response.", jsonresponse); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    if (jsonresponse != null) { 
     Log.e("community response.", jsonresponse); 

    } 
    return jsonresponse; 
} 

Comment je l'utilise ..:

response = OkHttpClass.getJSONResponseFromOkhttp(new OkHttpClient(), mUrl); 

Comme Retrofit utilise le convertisseur GSON et il acceptera que le format de réponse standard JSON. Dans Retrofit, vous n'avez pas besoin d'analyser la réponse JSON. Ils sont automatiquement analysés par la bibliothèque GSON et sauvegardés dans le MODÈLE POJO.

Pour Retrofit, référez-vous à ceci. http://www.androidwarriors.com/2015/12/retrofit-20-android-example-web.html