一尘不染

JSON错误“ java.lang.IllegalStateException:应为BEGIN_OBJECT,但在第1行第1列路径$处为STRING”

json

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 $

非常感谢您的帮助。


阅读 550

收藏
2020-07-27

共1个答案

一尘不染

让我们看看您收到的错误。

预期的BEGIN_OBJECT

您的JSON是一个对象,所有JSON对象都用花括号({})括起来。因此,BEGIN_OBJECT为{。并期待它在某个地方。

但在STRING

但是相反,他找到了一个字符串“ Something”。仍然没有告诉我们在哪里。

在第1行第1列的路径$

啊,完美。在第1行的第1列。这是JSON的开始。因此,您忘记了将整个内容括在{}中(或者至少您忘记了第一个,但是我敢打赌您忘记了它们两者)。

2020-07-27