Retrofit 2を使用していますが、BEGIN_OBJECTを期待していましたが、行1、列1のパス$でSTRINGでした。

nnnn

Retrofit 2を使用して、Flickrから写真を取得するようにリクエストします。

私はそれを解析するためのクラスを作成します:

    public class FlickrResult {

    @SerializedName("photos")
    @Expose
    private FlickrPhotos photos;

    @SerializedName("stat")
    @Expose
    private String stat;

    public FlickrPhotos getPhotos() {
        return photos;
    }


    public class FlickrPhotos {

        @SerializedName("page")
        @Expose
        private int page;

        @SerializedName("pages")
        @Expose
        private String pages;

        @SerializedName("perpage")
        @Expose
        private int perpage;

        @SerializedName("total")
        @Expose
        private String total;

        @SerializedName("photo")
        @Expose
        private ArrayList<FlickrPhoto> photo;

        public ArrayList<FlickrPhoto> getPhoto() {
            return photo;
        }


        public class FlickrPhoto {

            @SerializedName("id")
            @Expose
            private String id;

            @SerializedName("owner")
            @Expose
            private String owner;

            @SerializedName("secret")
            @Expose
            private String secret;

            @SerializedName("server")
            @Expose
            private String server;

            @SerializedName("farm")
            @Expose
            private int farm;

            @SerializedName("title")
            @Expose
            private String title;

            @SerializedName("ispublic")
            @Expose
            private int ispublic;

            @SerializedName("isfriend")
            @Expose
            private int isfriend;

            @SerializedName("isfamily")
            @Expose
            private int isfamily;

            public String getTitle() {
                return title;
            }
        }

    }

  }

私のビルドリクエストは次のとおりです。

 static {
        gson = new GsonBuilder()
                .setLenient()
                .create();
    }



 @NonNull
    private static Retrofit buildRetrofit() {
        Log.i(TAG, "onBuildRetrofitApiFactory");
        return new Retrofit.Builder()
                .baseUrl("https://api.flickr.com/services/")
                .client(getClient())
                .addConverterFactory(GsonConverterFactory.create(gson))
                .build();
    }

レトロフィットインターフェース

@GET("rest")  
        Call<FlickrResult> getPhotos(@Query("method") String method,
                                     @Query("api_key") String key,
                                     @Query("format") String format,
                                     @Query ("nojsoncallbac") String nojsoncallbac
                                                    );

私の責任は成功ですが、構文解析に問題があります。例外があります:

java.lang.IllegalStateException:BEGIN_OBJECTが必要ですが、1行1列1パスでSTRINGでした$

みんなお願いします、私はあなたの助けが必要です!

ロバート・エスティビル

Retrofitインターフェースが間違っています。

パレメータ「nojsoncallbac」は正しくないため、「nojsoncallback」である必要があります。

この誤ったパラメーターにより、APIは応答で異なる形式を返します

jsonFlickrApi({
  "photos": {
  "page": 1,
  "pages": 10,
  "perpage": 100,
  "total": 1000,
  "photo": [
     ...
   ]
  }
 })

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

期待されるBEGIN_ARRAYを取得しましたが、Android(java)でRetrofitを使用してjsonをフェッチしようとすると、1行2列のパス$でBEGIN_OBJECTになりました。

分類Dev

Retrofit2を使用したAndroidKotlin問題パーサーGsonはBEGIN_OBJECTを予期していましたが、1行2列のパス$でBEGIN_ARRAYでした

分類Dev

Retrofit 2はBEGIN_OBJECTを期待していましたが、BEGIN_ARRAYでした

分類Dev

BEGIN_ARRAYが必要でしたが、MVVMとRetrofitを使用した1行2列のパスKotlinコルーチンでBEGIN_OBJECTでした

分類Dev

BEGIN_ARRAYが必要ですが、行1、列2のパス$でBEGIN_OBJECTでした-Retrofit 2 Android

分類Dev

begin_arrayが必要ですが、行1、列2のパス$ retrofitでbegin_objectでした

分類Dev

Retrofit 2.0:BEGIN_OBJECTが必要ですが、1行1列1パス$でSTRINGでした

分類Dev

Retrofit2 Android:BEGIN_ARRAYが必要ですが、行1、列2、パス$でBEGIN_OBJECTでした

分類Dev

Retrofitはエラーを出しますBEGIN_OBJECTを期待しましたが、BEGIN_ARRAYでした

分類Dev

Retrofit2およびconverter-gson:BEGIN_OBJECTが必要ですが、1行1列1パスでSTRINGでした$

分類Dev

java.lang.IllegalStateException:BEGIN_ARRAYが必要ですが、行1、列2のパスでBEGIN_OBJECTでした$ -Retrofit 2 Android kotlin

分類Dev

Retrofit 2.0.0 beta2:begin_arrayが必要でしたが、begin_objectでした

分類Dev

Retrofit2:BEGIN_ARRAYが必要ですが、1行268パス$ [0] .imagesでSTRINGでした

分類Dev

Gson は BEGIN_ARRAY を予期していましたが、行 1 列 2 パス $ で BEGIN_OBJECT でした

分類Dev

BEGIN_ARRAYが必要でしたが、gson、android、retrofitでBEGIN_OBJECTエラーが発生しました

分類Dev

GSONは文字列を予期していましたが、行1、列14のパス$ .dChargでBEGIN_OBJECTでした

分類Dev

有効な Json は、「BEGIN_OBJECT を期待していましたが、行 1 列 4 で STRING でした」をスローします。

分類Dev

レトロフィットはBEGIN_ARRAYを想定していましたが、onActivityResultの行1列2パス$でBEGIN_OBJECTでした

分類Dev

GSONが「BEGIN_OBJECTを期待していましたが、BEGIN_ARRAYでした」をスローします

分類Dev

Gson の問題: - BEGIN_OBJECT を予期していましたが、1 行目で BEGIN_ARRAY でした

分類Dev

BEGIN_OBJECTを期待していましたが、BEGIN_ARRAYkotlinでした

分類Dev

例外BEGIN_OBJECTを解決するにはどうすればよいですか?AndroidStudioの1行2列のパス$にSTRINGがありましたか?

分類Dev

期待ARRAYをBEGINが、1行目でBEGIN_OBJECTとcolum2ました

分類Dev

kotlinのレトロフィットはbegin_arrayを期待していましたが、1行目はbegin_objectでした

分類Dev

Retrofitインターフェイスを作成するための私のジェネリック関数はコンパイラエラーを取得します:推測される型はClass <T>ですか?しかし、Class <T!>が期待されていました

分類Dev

JSON エラー: 原因: java.lang.IllegalStateException: BEGIN_OBJECT が予期されていましたが、行 1 列 1 パス $ で STRING でした

分類Dev

Retrofit2- @ GETURLまたは@Urlパラメーターのいずれかが欠落しています-Proguard

分類Dev

Retrofit2はjson内でjsonを解析しています

分類Dev

Android-Retrofitを使用して「(少なくとも1つの作成が存在しますが)のインスタンスを構築できません」というエラーが発生する

Related 関連記事

  1. 1

    期待されるBEGIN_ARRAYを取得しましたが、Android(java)でRetrofitを使用してjsonをフェッチしようとすると、1行2列のパス$でBEGIN_OBJECTになりました。

  2. 2

    Retrofit2を使用したAndroidKotlin問題パーサーGsonはBEGIN_OBJECTを予期していましたが、1行2列のパス$でBEGIN_ARRAYでした

  3. 3

    Retrofit 2はBEGIN_OBJECTを期待していましたが、BEGIN_ARRAYでした

  4. 4

    BEGIN_ARRAYが必要でしたが、MVVMとRetrofitを使用した1行2列のパスKotlinコルーチンでBEGIN_OBJECTでした

  5. 5

    BEGIN_ARRAYが必要ですが、行1、列2のパス$でBEGIN_OBJECTでした-Retrofit 2 Android

  6. 6

    begin_arrayが必要ですが、行1、列2のパス$ retrofitでbegin_objectでした

  7. 7

    Retrofit 2.0:BEGIN_OBJECTが必要ですが、1行1列1パス$でSTRINGでした

  8. 8

    Retrofit2 Android:BEGIN_ARRAYが必要ですが、行1、列2、パス$でBEGIN_OBJECTでした

  9. 9

    Retrofitはエラーを出しますBEGIN_OBJECTを期待しましたが、BEGIN_ARRAYでした

  10. 10

    Retrofit2およびconverter-gson:BEGIN_OBJECTが必要ですが、1行1列1パスでSTRINGでした$

  11. 11

    java.lang.IllegalStateException:BEGIN_ARRAYが必要ですが、行1、列2のパスでBEGIN_OBJECTでした$ -Retrofit 2 Android kotlin

  12. 12

    Retrofit 2.0.0 beta2:begin_arrayが必要でしたが、begin_objectでした

  13. 13

    Retrofit2:BEGIN_ARRAYが必要ですが、1行268パス$ [0] .imagesでSTRINGでした

  14. 14

    Gson は BEGIN_ARRAY を予期していましたが、行 1 列 2 パス $ で BEGIN_OBJECT でした

  15. 15

    BEGIN_ARRAYが必要でしたが、gson、android、retrofitでBEGIN_OBJECTエラーが発生しました

  16. 16

    GSONは文字列を予期していましたが、行1、列14のパス$ .dChargでBEGIN_OBJECTでした

  17. 17

    有効な Json は、「BEGIN_OBJECT を期待していましたが、行 1 列 4 で STRING でした」をスローします。

  18. 18

    レトロフィットはBEGIN_ARRAYを想定していましたが、onActivityResultの行1列2パス$でBEGIN_OBJECTでした

  19. 19

    GSONが「BEGIN_OBJECTを期待していましたが、BEGIN_ARRAYでした」をスローします

  20. 20

    Gson の問題: - BEGIN_OBJECT を予期していましたが、1 行目で BEGIN_ARRAY でした

  21. 21

    BEGIN_OBJECTを期待していましたが、BEGIN_ARRAYkotlinでした

  22. 22

    例外BEGIN_OBJECTを解決するにはどうすればよいですか?AndroidStudioの1行2列のパス$にSTRINGがありましたか?

  23. 23

    期待ARRAYをBEGINが、1行目でBEGIN_OBJECTとcolum2ました

  24. 24

    kotlinのレトロフィットはbegin_arrayを期待していましたが、1行目はbegin_objectでした

  25. 25

    Retrofitインターフェイスを作成するための私のジェネリック関数はコンパイラエラーを取得します:推測される型はClass <T>ですか?しかし、Class <T!>が期待されていました

  26. 26

    JSON エラー: 原因: java.lang.IllegalStateException: BEGIN_OBJECT が予期されていましたが、行 1 列 1 パス $ で STRING でした

  27. 27

    Retrofit2- @ GETURLまたは@Urlパラメーターのいずれかが欠落しています-Proguard

  28. 28

    Retrofit2はjson内でjsonを解析しています

  29. 29

    Android-Retrofitを使用して「(少なくとも1つの作成が存在しますが)のインスタンスを構築できません」というエラーが発生する

ホットタグ

アーカイブ