我在 Android 应用程序中使用 okhttp Retrofit 来发出网络请求。在其中一个请求中,我收到此错误:
com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:预期为 BEGIN_OBJECT,但在第 1 行第 1 列路径 $ 处为 STRING
我在日志中看到 201 响应,但 Retrofit 抛出此错误。下面是我的代码。
signup(signupParams, new Callback<Member>() {
@Override
public void success(Member member, Response response) {
if (member != null) {
UserAccount userAccount = new UserAccount(member);
userAccount.save();
}
@Override
public void failure(RetrofitError re) {
BusProvider.post(new SignupFailedEvent(re, email));
}
});
signupParams 值为 --
{"emailAddress":"[email protected] /cdn-cgi/l/email-protection","password":"tester123","userSource":"APH"}
我已经用 jsonLint 测试了这个 json,它是一个有效的 json。这是我的会员班,这应该是理想的回应。
public class Member {
public String emailAddress;
public String token;
public long id;
public String firstName;
public String lastName;
}
响应的示例应该是这样的:
{
"emailAddress": "[email protected] /cdn-cgi/l/email-protection",
"id": 1437811,
"token": "sdhshdghsdhhsdbcjhbsjdhc",
"firstName": "John",
"lastName": "Smith"
}