改造响应未被完全解析

时间:2015-04-01 19:09:06

标签: android json gson retrofit

我有一个Android应用程序,它使用RestFUL Web服务作为其后端。我已经实施了Retrofit来发送注册数据,但它确实有效。 现在我需要获得大量的对象,但它还没有工作。我注意到Gson只解析了一些属性(名称,类型,位置),但大多数都不是(特别是id)。 Gson如何实际解析它?我真的必须实现它吗?从我的想法,我只需要匹配的属性的名称,它将为我做所有的工作。

这就是我构建Gson和RestAdapter的方式:

Gson gson = new GsonBuilder()
        .setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES)
        .registerTypeAdapter(Date.class, new DateTypeAdapter())
        .create();

RestAdapter restAdapter = new RestAdapter.Builder()
        .setEndpoint(PACURL.getHost())
//                    .setLogLevel(RestAdapter.LogLevel.FULL)
        .setConverter(new GsonConverter(gson))
        .build();

我的要求定义:

@POST("/pois/{category}")
    void getPois(@Path("category") String category,
                 @Query("lat") Double lat,
                 @Query("long") Double lon,
                 Callback<WrapperPois> callback);

和实际的电话:

NetworkInterface nt = restAdapter.create(NetworkInterface.class);
nt.getPois(category,
        location.getLatitude(),
        location.getLongitude(), callback);

我使用Retrofit期待放松我的工作,所以如果我必须自己编写反序列化,请告诉我。任何关于Gson默认转换器如何工作的评论都非常感激。

谢谢!

  • 编辑:

My WrapperPois类:

public class WrapperPois {
    public ArrayList<Poi> results;

    static class MyResponse {
        public ArrayList<Poi> array;
    }
}

Poi包含:

protected String objectId;
protected String url;
protected String type;

...

0 个答案:

没有答案