如何使用自定义 JsonDeserializer 调试 Retrofit CONVERSION 错误?

A. *_*gen 5 android json gson retrofit

我检查了服务器的响应,它反序列化为 Map 没有问题。

一旦我附加了我的反序列化器 Retrofit 就会返回一个带有类型转换的 RetrofitError,但是即使我将 Retrofit 日志记录级别设置为 LogLevel.FULL,也不会抛出其他异常。

如何调试我的自定义解串器以检查错误来自哪里?

——

我从 wordpress 博客中获取 json 并用它反序列化

public ArrayList<Post> deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException {
    Log.d("WayTrace", "Starting Parsing " + json);
    final JsonObject jsonObject = json.getAsJsonObject();
    Log.d("WayTrace", "JSONObject " + jsonObject);
    final JsonArray posts = jsonObject.get("posts").getAsJsonArray();
    Log.d("WayTrace", "JSON posts " + posts);
    final ArrayList<Post> outList = new ArrayList<>(posts.size());
    for (int i = 0; i < posts.size(); i++) {
        final Post post = new Post();
        Log.v("WayTrace", "JSON posts parsing item " + i);

        post.setPostId(jsonObject.get("id").getAsInt());
        post.setTitle(jsonObject.get("title").getAsString());
        post.setExcerpt(jsonObject.get("excerpt").getAsString());
        post.setContent(jsonObject.get("content").getAsString());
        post.setImageUrl(jsonObject.get("thumbnail_images").getAsJsonObject().get("full").getAsJsonObject().get("url").getAsString());
        post.setThumbUrl(jsonObject.get("thumbnail_images").getAsJsonObject().get("post-thumbnail").getAsJsonObject().get("url").getAsString());
        post.setPostTimeStamp(this.mTstampParser.parseMillis(jsonObject.get("date").getAsString()));

        outList.add(post);
    }

    return outList;
}
Run Code Online (Sandbox Code Playgroud)

但即使是那些日志命令也没有出现在我的日志中。