改造返回有效的json但是pojo是空的

时间:2014-11-13 21:22:07

标签: android json get pojo retrofit

我正在使用retrofit从服务器获取Json对象,我可以获取Json(我在日志上看到它完全正确)但是当我检查回调时返回的回调它是空的,这很奇怪。 / p>

我遇到了这个问题,返回了一个JSON对象数组,但我已经尝试过使用单个对象,同样的事情发生了。

这是JSON:

{ 
    "id" : "20176",
    "name" : "Dave Attwood",
    "dob" : "05/04/1987",
    "position" : "Lock"
}

这是Player类:

public class Player {
  @SerializedName("id")
  @Expose
  private static String id;
  @SerializedName("name")
  @Expose
  private static String name;
  @SerializedName("dob")
  @Expose
  private static String dob;
  @SerializedName("position")
  @Expose
  private static String position;
  ...getters and setters below

这是改装代码:

@GET("/players/position/{position_name}")
    void getPositionPlayers(@Path("position_name") String positionName,
                            Callback<Player> callback);

以下是GET请求的结果,其中我获得了JSON,但是在Player对象中没有任何内容:

    @Subscribe
public void onLoadPlayers(final RequestPositionPlayersEvent event) {

    mClientApi.getPositionPlayers(event.getmPlayerPosition(),
            new Callback<Player>() {

                @Override
                public void success(Player players, Response response) {
                    mBus.post(new PlayersListEvent(players));
                    Log.i(TAG, "Success receiving PlayList");

                }

                @Override
                public void failure(RetrofitError error) {
                    Log.i(TAG, "Failure receiving PlayList");
                    mBus.post(new ApiErrorEvent(error));
                }
            });
}

任何人都知道它可能是什么?我已经尝试了所有的东西,我也有其他项目使用类似的架构,我找不到这个。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您的变量声明为static。删除static,它应该可以。