web-dev-qa-db-ja.com

JSONエラー「Java.lang.IllegalStateException:BEGIN_OBJECTが必要ですが、1行1列1パス$でSTRINGでした」

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 $

助けてくれてありがとう。

7
androidAnonDev

受け取ったエラーを見てみましょう。

BEGIN_OBJECTが必要です

JSONはオブジェクトであり、すべてのJSONオブジェクトは中括弧({})で囲まれています。したがって、BEGIN_OBJECTは{。そして、それはどこかでそれを期待しています。

sTRINGでした

しかし、代わりに彼は文字列「Something」を見つけました。まだどこにも教えてくれません。

行1列1パス$

ああ、完璧。 1行目の1列目。これがJSONの始まりです。そのため、全体を{}で囲むことを忘れた(または、少なくとも最初のものを忘れたが、両方を忘れたに違いない)。

30
Astrogat

プロジェクトのクリーニングと再構築は私にとってはうまくいきます。

0
MUHAMMAD UMER