public interface UserService {
@POST(Constants.Api.URL_REGISTRATION)
@FormUrlEncoded
BaseWrapper registerUser(@Field("first_name") String firstname, @Field("last_name") String lastname, @Field("regNumber") String phone, @Field("regRole") int role);
public BaseWrapper registerUser(User user) {
return getUserService().registerUser(user.getFirstName(), user.getLastName(), user.getPhone(), user.getRole());
}
这将创建异常
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
非常感谢你的帮助。
最近,我遇到了类似的问题,只能通过在标题部分添加“Accept:application/json”来解决。所以,如果你使用的是翻新2.0;
第一种解决方案:对于post方法,添加如下标题参数;
@Headers({"Accept: application/json"})
@POST(Constants.Api.URL_REGISTRATION)
@FormUrlEncoded
BaseWrapper registerUser(@Field("first_name") String firstname,
@Field("last_name") String lastname,
@Field("regNumber") String phone,
@Field("regRole") int role);
第二种解决方案:像这样将头添加到拦截器类中;
注:代码在kotlin
private fun getInterceptor(): Interceptor {
try {
return Interceptor {
val request = it.request()
it.proceed(
request.newBuilder()
.header("Accept", "application/json")
.header("Authorization", "$accessTokenType $accessToken")
.build()
)
}
} catch (exception: Exception) {
throw Exception(exception.message)
}
}
}
希望有帮助,快乐编码:)
清理和重建项目对我来说很有效。
让我们看看您收到的错误。
应为BEGIN_对象
JSON是一个对象,所有JSON对象都用大括号({})括起来。因此,BEGIN_对象是{。它在某处期待它。
但是是String
但是他找到了一个字符串“某物”。仍然没有告诉我们在哪里。
在第1行第1列路径$
啊,太好了。在第1行第1列。这是JSON的开头。所以你忘记了把整件事包含在{}中(或者至少你忘记了第一个,但我打赌你已经忘记了它们两个)。
问题内容: 此创建异常 非常感谢您的帮助。 问题答案: 让我们看看您收到的错误。 预期的BEGIN_OBJECT 您的JSON是一个对象,所有JSON对象都用花括号({})括起来。因此,BEGIN_OBJECT为{。并期待它在某个地方。 但在STRING 但是相反,他找到了一个字符串“ Something”。仍然没有告诉我们在哪里。 在第1行第1列的路径$ 啊,完美。在第1行的第1列。这是JSON
我使用Laravel构建了一个简单的API,它运行良好。我的Android应用程序应该使用这个API中的数据,但对于一些JSON响应,我得到了一个错误 应为BEGIN_对象,但在第1行第1列路径处为字符串 在得到这个错误之前,错误如下: 使用JsonReader。setLenient(true)在第1行第1列路径接受格式错误的JSON 然后我来解决它。 我在许多其他帖子中看到,这个问题是一个畸形的
我的java代码 我的JSON 除id外,所有字段均为字符串 我的错误 18/11/26 18:02:55信息mapreduce。作业:任务Id:尝试_1543189350698_0010_m_000000_0,状态:失败错误:com。谷歌。格森。JsonSyntaxException:java。伊奥。EOFEException:com第1行第3列的输入结束。谷歌。格森。格森。fromJson(G
我正在努力学习改型,尽管从数据库中检索文本相当容易。我在向数据库提交数据时有点麻烦。 我提交的数据会进入数据库,但每次提交数据时都会显示此错误。toast表示-应为BEGIN_对象,但在第1行第2列路径处为字符串$ 这是我的注册API活动: 公共接口注册器API{ 这是我的个人课: 这是我的插入活动: 检索文本 以下问题的答案 我想回答我自己的问题,但我无法回答下面的问题,因为我被标记为重复。不管
正在学习如何在我的Android应用程序中使用改型,出现以下错误:如果可以,请提供帮助。非常感谢。 以下是我的代码:如果您也有能力,请帮助: 这是我的界面: 以下是我的建议: