如何使服务器返回json不是字符串(java.lang.IllegalStateException)

时间:2017-08-04 20:32:14

标签: java android json

我的Android客户端中的API接口代码是:

import com.zift.myapplication88.models.ServerRequest;
import com.zift.myapplication88.models.ServerResponse;

import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.POST;

public interface RequestInterface {
    @POST("learn2crack-login-register/")
    Call<ServerResponse> operation(@Body ServerRequest request);
}

当我尝试将数据发送到服务器时,我收到以下错误:

  

com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:   预期BEGIN_OBJECT但在第1行第1行路径$ STR的STRING

我不知道在我的代码中编辑的位置,因此我可以让服务器返回json而不是string

1 个答案:

答案 0 :(得分:0)

您需要发布服务器端代码,以获取有关对服务器端进行更改的建议。 但是,假设您的服务器返回字符串(这是一种非常糟糕的做法),解决方法可能是为Retrofit编写自定义转换器。

请参阅Retrofit with String response