我对GSON非常陌生,
几天前有人建议使用GSON,我在这里寻求一些帮助
我正在尝试分析此响应,但收到了所述错误。。
{
"status": 4,
"data": {
"id": 15,
"user_id": 1,
"sub_contractor_id": 1,
"battery_id": 1,
"user_long": "120.8922933",
"user_lat": "14.8185964",
"rider_long": "121.029015",
"rider_lat": "14.6496133",
"user_address_location": "313 Bantayan St, Balagtas, 3016 Bulacan, Philippines",
"complete": 1,
"created_at": "2017-04-09 15:22:07",
"updated_at": "2017-04-09 15:26:16",
"deleted_at": null,
"user": {
"id": 1,
"user_group_id": 3,
"email": "customer@motolite.com",
"created_at": null,
"updated_at": null,
"deleted_at": null
},
"battery": {
"id": 1,
"model": "Enduro",
"size": "DIN44",
"price": 2000,
"created_at": null,
"updated_at": null,
"deleted_at": null
}
}
}
我只是得到了“状态”部分,但得到了错误。
private void fetchPosts() {
StringRequest request = new StringRequest(Request.Method.POST, ENDPOINT, onPostsLoaded, onPostsError) {
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> params = new HashMap<>();
params.put("booking_id", "15");
return params;
}
};
requestQueue.add(request);
}
private final Response.Listener<String> onPostsLoaded = new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.e("TAG", response);
List<ModelBooking> posts = Arrays.asList(gson.fromJson(response, ModelBooking[].class));
for (ModelBooking post : posts) {
Log.e("TAG", post.status);
}
}
};
private final Response.ErrorListener onPostsError = new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.e("TAG", error.toString());
}
};
对我的模特来说。
public class ModelBooking {
@SerializedName("status")
String status;
}
您的JSON字符串是一个对象(它以{
开头),而不是一个数组(以[
开头)。所以你的代码会这样:
private final Response.Listener<String> onPostsLoaded = new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.e("TAG", response);
ModelBooking post = gson.fromJson(response, ModelBooking.class));
Log.e("TAG", post.status);
}
};
我正在尝试从XML文件中提取数据。将XML转换为JSON后,我无法访问数据。我正在用GSON解析数据。 这段代码给了我一个错误。 有什么建议吗?提前谢谢。 这是JSON内容: 这是以下类:
我的Retrofit2调用出现以下异常: 学分类别:
我正在通过改型和RXAndroid与来自android的REST API进行交互,我遇到了一个问题。 当我向我的“api/users/{id}/{id}/classes”发送GET请求时,我的api会以用户类列表作出响应,如下所示: 我的界面如下所示: 我从片段中这样称呼它: 我的类对象以及getter和setter如下所示: gson不应该看到“类”:[]数组并从中解析对象吗?我做错了什么
我不知道该修好它 我怎么了? 我的json是 E/DDD:onFailure:java.lang.IllegalStateException:应为BEGIN_ARRAY,但在第1行第44列路径$.data处为BEGIN_OBJECT 有什么问题?谢谢!
问题内容: 我在列表中仅收到一个项目时收到此错误。我在服务器端REST Web服务中使用Jersey,当List返回一个元素并且当我得到它时,我仅收到错误,但是当它包含多个元素时,它可以正常工作,这就是我的工作方式它: 为什么Jersey不发送包含一个项目的列表?这是球衣的虫子吗?有没有办法使它始终序列化为数组? 当Web服务返回0元素时,这是我的JSON数据: 当Web服务返回1元素时,这是我的