0
다른 게시물에 대해이 문제를 찾고 있지만 문제를 해결할 수 없습니다.개장 2 "예상 BEGIN_ARRAY했지만 1 열 2 열 경로에서 BEGIN_OBJECT했습니다"
형식 JSON 응답 : 개조 2
@GET("products")
Call<List<ProductTest>> getProductList();
@GET("products/{product}")
Call<ProductTest> getProduct(@Path("product") int product);
@GET("success")
Call<SuccessTest> getSuccessNb();
JAVA 제품 클래스
public class ProductTest {
String name;
String description;
public String getName() {
return name;
}
public String getDescription() {
return description;
}
}
개조 2 빌더
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://10.0.2.2:80/App/PHP_script/reading_all_products.php/")
.addConverterFactory(GsonConverterFactory.create())
.build();
CatalogAPI service = retrofit.create(CatalogAPI.class);
에 대한
{
"products":[
{
"name":"Top fluide doubl\u00e9",
"description":"DESCRIPTION ........"
},
{
"name":"Sweat avec fentes lat\u00e9rales",
"description":"DESCRIPTION ........"
},
{
"name":"Robe \u00e9paules d\u00e9nud\u00e9es",
"description":"DESCRIPTION ........"
},
{
"name":"Blouson bomber \u00e0 zip imprim\u00e9",
"description":"DESCRIPTION ........"
}
],
"success":4
}
API 목록에있는 제품의 목록 또는 하나 개의 제품을 얻을 작동하지 않는 JSON 응답
service.getSuccessNb().enqueue(new Callback<SuccessTest>() {
@Override
public void onResponse(Call<SuccessTest> call, Response<SuccessTest> response) {
if(response.isSuccessful())
{
Log.i("retrofit : ", "" + response.body().getSuccess());
}
else
{
Log.i("retrofit : ", "NULL BODY -> " + response.errorBody());
}
}
@Override
public void onFailure(Call<SuccessTest> call, Throwable t) {
Log.i("retrofit : ", "onFailure -> " + t.getLocalizedMessage());
}
});
서비스의 성공을 얻기 위해 노력하고 있습니다 691,363,210
서비스
service.getProductList().enqueue(new Callback<List<ProductTest>>() {
@Override
public void onResponse(Call<List<ProductTest>> call, Response<List<ProductTest>> response) {
Log.i("retrofit : ", "pre-ok");
if(response.isSuccessful())
{
Log.i("retrofit : ", "ok");
}
else
{
Log.i("retrofit : ", "NULL BODY -> " + response.errorBody());
}
}
@Override
public void onFailure(Call<List<ProductTest>> call, Throwable t) {
Log.i("retrofit : ", "onFailure -> " + t.getLocalizedMessage());
}
});
service.getProduct(2).enqueue(new Callback<ProductTest>() {
@Override
public void onResponse(Call<ProductTest> call, Response<ProductTest> response) {
if(response.isSuccessful())
{
Log.i("retrofit : ", "" + response.message());
Log.i("retrofit : ", response.body().getName() + " => " + response.body().getDescription());
}
else
{
Log.i("retrofit : ", "NULL BODY -> " + response.errorBody());
}
}
@Override
public void onFailure(Call<ProductTest> call, Throwable t) {
Log.i("retrofit : ", "onFailure -> " + t.getLocalizedMessage());
}
});
이 두 가지 마지막 경우에 대해 오류가 표시됩니다.
예상되는 BEGIN_ARRAY은 (는) 1 행 2 열의 경로 $에서 BEGIN_OBJECT였습니다. .
나는 완벽하게 작동하는 래퍼 클래스를 사용했다하지만 난 완벽하게 개조 2 및 JSON
사이의 통신
,하지만 작동 왜 이해가 안 ... –
체크 업데이트 .. 이것은 당신이 JSON 형식을 – UDI
많은 감사를 이해하는 데 도움이,하지만 난 단 하나 개의 객체를 얻을 수있는 방법 희망 개선 된 배열 "제품"? –