我有没有数组名的json repose。
下面是直到我完成的代码。
JSON响应
[
{
"id": 1,
"user_id": 101,
"name": "abc",
"number": 1234567890
},
{
"id": 2,
"user_id": 102,
"name": "xyzzy",
"number": 8888888888
},
{
"id": 3,
"user_id": 103,
"name":"sdfdsdv",
"number": 2222222222
}
]
接口类
public interface ApiInterface {
@GET("user/details”)
Call<List<User_List>> getUser(
@Query(“id”)String id
);
}
User_List类
public class User_List {
@SerializedName("id")
@Expose
int id;
@SerializedName("user_id")
@Expose
int user_id;
@SerializedName("name")
@Expose
String name;
@SerializedName("number")
@Expose
Int number;
public int getId() {
return id;
}
public int getUser_id() {
return user_id;
}
public int getNumber() {
return number;
}
public String getName() {
return name;
}
}
MainActivity类
Public void fetch() {
ApiInterface apiInterface = ApiClient.getRetrofit().create(ApiInterface.class);
Call<List<User_List>> user = apiInterface.getUser(id);
user(new Callback<List<user_List>>() {
@Override
public void onResponse(Call<List<user_List>> call, retrofit2.Response<List<user_List>> response) {
try{
if (response.isSuccessful()) {
for (int i = 0; i < user_list(); i++) {
int id = user_list.get(i).getId();
String name = user_list.get(i).getName();
}
}else {
}
}catch (Exception e){
e.printStackTrace();
}
}
@Override
public void onFailure(Call<ArrayList<ProductEnquiry_Contributor>> call, Throwable t) {
}
});
}
我试图解析它,但是找不到成功,有人可以建议我如何使用Retrofit解析这种类型的响应吗?
这让我失败了 错误:应为BEGIN_ARRAY,但在第1行第2列路径$
处为BEGIN_OBJECT答案 0 :(得分:0)
您可以这样做
@POST("endpoint)
Call<List<yourPOJO> methodname(@Body BodyPOJO bodyPojo);
或
@POST("endpoint)
Call<Response<List<yourPOJO>> methodname(@Body BodyPOJO bodyPojo);