2017-02-23 46 views
0

Я новичок в модернизации, и не имею большой идеи, как передать этот json с помощью модификации и показать в моем приложении. Boulow - это мой json, MainActivity и класс модели. Но знаю он бросает исключение «За исключением begin_object, но найдено begin_array». Пожалуйста, помогите мне.Как передать массив json с помощью метода get в модифицированном андроиде

[ 
    { 
     "userId": 1, 
     "id": 1, 
     "title": "sunt", 
     "body": "sdfdsf" 
     }, 
     { 
     "userId": 1, 
     "id": 2, 
     "title": "qui est esse", 
     "body": "jhmjk" 
     }] 

MainActivity.java

Retrofit retrofit = new Retrofit.Builder() 
       .baseUrl(BASE_URL) 
       .addConverterFactory(GsonConverterFactory.create()) 
       .build(); 
     ApiInterface apiService = retrofit.create(ApiInterface.class); 
     // ApiInterface apiService = ApiClient.getClient().create(ApiInterface.class); 
     Call<ModelClass> call = apiService.getLogin(); 
     // Call<LoginResponse> call = apiService.loginWithCredentials(new LoginRequest(email_enter, md5pass)); 
     call.enqueue(new Callback<ModelClass>() { 
      @Override 
      public void onResponse(Call<ModelClass> call, Response<ModelClass> response) { 
       Log.i("REGISTRATION --->", "Registered" + response); 
      } 

      @Override 
      public void onFailure(Call<ModelClass> call, Throwable t) { 
       Log.i("REGISTRATION --->", "Throwable" + t.toString()); 
       // Intent i = new Intent(MainActivity.this,SecondActivity.class); 
       // startActivity(i); 
      } 
     }); 
    } 

ModelClass.java

public class ModelClass { 
    class Model{ 
     public List<ObjectModel> getObjectmodel() { 
      return objectmodel; 
     } 

     public void setObjectmodel(List<ObjectModel> objectmodel) { 
      this.objectmodel = objectmodel; 
     } 

     List<ObjectModel> objectmodel; 
    } 

    class ObjectModel{ 
     String userId; 
     String id; 

     public String getTitle() { 
      return title; 
     } 

     public void setTitle(String title) { 
      this.title = title; 
     } 

     public String getUserId() { 
      return userId; 
     } 

     public void setUserId(String userId) { 
      this.userId = userId; 
     } 

     public String getId() { 
      return id; 
     } 

     public void setId(String id) { 
      this.id = id; 
     } 

     public String getBody() { 
      return body; 
     } 

     public void setBody(String body) { 
      this.body = body; 
     } 

     String title; 
     String body; 
    } 
} 
+1

Возможный дубликат [Как передать массив JSON внутри кузова в модификации] (http://stackoverflow.com/questions/41543318/how-to-pass-json-array-inside-body-in-retrofit) –

+0

Can u, пожалуйста, просмотрите эту ссылку, имея json, как передать это http://stackoverflow.com/questions/42386604/login-using-retrofit-in-android-having-json-data-at-server –

+0

Я бы предложил пройти данные JSON в теле как запрос POST –

ответ

2

Создать пользовательскую модель и передать ту же модель в модифицированной апи.

class Model{ 
    List<ObjectModel> objectmodel; 
} 

class ObjectModel{ 
    String userId; 
    String id; 
    String title; 
    String body; 
} 

Значение привязки и пропуск объекта модели в вашем модифицированном интерфейсе.

Или

@GET("json") 
Call<JsonObject> youmethode(@Query("key") String value); 

Надеется, что это полезно. спасибо

+0

Как передать это после @Get() –

+0

вы знаете, как передать параметр в модификацию? –

+0

@GET ("json") Звонок getDistance (@Query ("originins") String originings, @Query ("destination") String destination, @Query ("key") String key); В противном случае вы можете прямо передать объект json в интерфейсе дооснащения –

0

Чтобы передать запрос json, вы должны использовать метод post.

+0

Можете ли вы посмотреть эту ссылку, имея json, как передать это http://stackoverflow.com/questions/42386604/login-using-retrofit-in-android-having-json-data -при-сервер –