- Ниже приведен JSON, из которого я пытался извлечь данные. Мне нужно
вывести и отобразить имена и классы с использованием retrofit2. 3.I пробовал несколько сайтов, но только смог получить данные непосредственно из массива 4. Но не из массива объектов. Это будет сформировано этим кодом.Получение данных из самого внутреннего класса с использованием «Дооснащения». Помогите мне отобразить данные классов A и B
{ "Class1" :{ "A": [ { "name" : "paul", "class" : "first" } ], "B": [ { "name" : "anna", "class" : "second" } ] }, "Class2" :{ "A": [ { "name" : "matthew", "class" : "first" } ], "B": [ { "name" : "joe", "class" : "second" } ] } }
Можете ли вы сказать мне, почему я получаю в OnFailure() метод. Что случилось с моим кодом
public class MainActivity extends AppCompatActivity {
private ListView listView;
private static final String Tag = "com.example";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView = (ListView)findViewById(R.id.bList);
OkHttpClient.Builder httpClient = new OkHttpClient.Builder();
String API_BASE_URL = "xyz.com";
HttpLoggingInterceptor logging = new HttpLoggingInterceptor();
logging.setLevel(HttpLoggingInterceptor.Level.BODY);
httpClient.addInterceptor(logging);
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(API_BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.client(httpClient.build())
.build();
ApiInterface client = retrofit.create(ApiInterface.class);
Call<List<Example>> call = client.getdate();
call.enqueue(new Callback<List<Example>>() {
@Override
public void onFailure(Call<List<Example>> call, Throwable t) {
Toast.makeText(MainActivity.this, "ERROR", Toast.LENGTH_LONG).show();
}
@Override
public void onResponse(Call<List<Example>> call, Response<List<Example>> response) {
if (response.isSuccessful()) {
//Response success. Handle data here
}
else{
//For getting error message
Log.d("Error message",response.message());
//For getting error code. Code is integer value like 200,404 etc
Log.d("Error code",String.valueOf(response.code()));
}
}
});
}
}
Пример мой основной класс
Ниже MyAPIInterface.java
public interface ApiInterface {public interface ApiInterface {
@GET("/sement")
Call<List<Example>> getdate(@Query("date")String date);
}
ваш формат JSON является недействительным –
это право формат: { "Class1": { "A": [ { "имя": "Пол", "класс": "первый" } ], "В": [ { "название": "анна", "класс": "второй" } ] }, "класс 2": { "А": [ { "name": "matthew", "класс": "первый" } ], "B": [ { "имя": "Джо", "класс": "второй" } ] } } –
Добро пожаловать в Stack Переполнение Preeti.Что касается вашего вопроса, сначала проверьте свой ответ JSON, который недействителен. Также вы должны реализовать класс модели в соответствии с вашим ответом json. – Piyush