文字列が必要ですが、行1、列29のパスでBEGIN_OBJECTでした

ドナート:

次のエラーが発生します。

java.lang.IllegalStateException:文字列が必要ですが、行1、列29、パス$ .entree [0] .photoでBEGIN_OBJECTでした

私のjson応答は次のように構成する必要があるため、私には意味がありません。

import com.google.gson.annotations.SerializedName;

public class Entree {
    @SerializedName("id")
    public int id;
    @SerializedName("photo")
    public Entree.Photo photo;

    public class Photo {
        @SerializedName("url")
        public String url;
        @SerializedName("web")
        public Entree.Photo.Web web;
        @SerializedName("mobile")
        public Entree.Photo.Mobile mobile;

        public class Web {
            @SerializedName("url")
            public String url;
        }

        public class Mobile {
            @SerializedName("url")
            public String url;
        }
    }
}

JSONデータ:

"entrees": [   
  {
    "id": 32,
    "photo": 
     {
       "url": "4c312e9aed37a59319096a03_1.jpg",
       "web": {
          "url": "web_4c312e9aed37a59319096a03_1.jpg"
        },
        "mobile": {
           "url": "mobile_4c312e9aed37a59319096a03_1.jpg"
        }
      }   
    },   
  ...

Photoがクラスの文字列ではなくオブジェクトであることがわかりますか?それで私は何が間違っているのですか?

garywzh:

内部クラスをマークしてみてください static

Gsonドキュメント、それは言います

Gsonは、静的にネストされたクラスを逆シリアル化することもできます。ただし、引数なしのコンストラクターには、逆シリアル化の時点では使用できない包含オブジェクトへの参照も必要なので、Gsonは純粋な内部クラスを自動的に逆シリアル化できません。この問題に対処するには、内部クラスを静的にするか、内部クラスのカスタムInstanceCreatorを提供します。

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

文字列が必要ですが、BEGIN_OBJECTの1行2列目パス$ .items [0] .authorでした

分類Dev

Gson:文字列が必要ですが、行1列3パス$ [0]でBEGIN_OBJECTでした

分類Dev

BEGIN_ARRAYが必要ですが、GitHubAPIの1行目2列目のパス$でBEGIN_OBJECTでした

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

BEGIN_ARRAYが必要ですが、1行53列のパス$ .dataでBEGIN_OBJECTでした

分類Dev

文字列が必要ですが、行3、列4のパス$ .SUCCESSでBEGIN_OBJECTでした

分類Dev

IllegalStateException:文字列が必要ですが、行1、列2のパス$でBEGIN_OBJECTでした。ネストされた例外はcom.google.gson.JsonSyntaxExceptionです

分類Dev

改造はbegin_arrayが必要でしたが、行1列2パス$のbegin_objectでした

分類Dev

MovieGlu API:改造2:BEGIN_ARRAYが必要ですが、行1列2パス$でBEGIN_OBJECTでした

分類Dev

AsyncTaskはBEGIN_OBJECTである必要がありますが、行1列2パス$でBEGIN_ARRAYでした

分類Dev

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

分類Dev

BEGIN_OBJECTが必要ですが、行1列12パス$ .moviesでBEGIN_ARRAYでした

分類Dev

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

分類Dev

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

分類Dev

BEGIN_ARRAYが必要ですが、1行2列目がBEGIN_OBJECTでした

分類Dev

GSON & ボレー => BEGIN_ARRAY が必要でしたが、行 1 列 2 パス $ で BEGIN_OBJECT でした

分類Dev

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

分類Dev

レトロフィット文字列が必要でしたが、行1、列2のパス$でBEGIN_OBJECTでした

分類Dev

gsonエラーでjsonを変換するBEGIN_OBJECTが必要ですが、行1、列2のパス$でBEGIN_ARRAYでした

分類Dev

GSONを使用したJson解析:JsonSyntaxException:java.lang.IllegalStateException:BEGIN_OBJECTが必要ですが、行1、列2のパス$でBEGIN_ARRAYでした

分類Dev

「BEGIN_OBJECTが必要ですが、1行1列目はSTRINGでした」

分類Dev

Androidのレトロフィット:java.lang.IllegalStateException:BEGIN_ARRAYが必要ですが、行1、列2のパスでBEGIN_OBJECTでした

分類Dev

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

分類Dev

文字列が必要でしたが、1行目123パス$ .optionsのBEGIN_OBJECTでした。イージーポスト発送

分類Dev

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

分類Dev

GsonでJSON(ストリームモード)を解析するJAVAエラー:BEGIN_ARRAYが必要ですが、行1列2パス$でBEGIN_OBJECTでした

Related 関連記事

  1. 1

    文字列が必要ですが、BEGIN_OBJECTの1行2列目パス$ .items [0] .authorでした

  2. 2

    Gson:文字列が必要ですが、行1列3パス$ [0]でBEGIN_OBJECTでした

  3. 3

    BEGIN_ARRAYが必要ですが、GitHubAPIの1行目2列目のパス$でBEGIN_OBJECTでした

  4. 4

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

  5. 5

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

  6. 6

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

  7. 7

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

  8. 8

    BEGIN_ARRAYが必要ですが、1行53列のパス$ .dataでBEGIN_OBJECTでした

  9. 9

    文字列が必要ですが、行3、列4のパス$ .SUCCESSでBEGIN_OBJECTでした

  10. 10

    IllegalStateException:文字列が必要ですが、行1、列2のパス$でBEGIN_OBJECTでした。ネストされた例外はcom.google.gson.JsonSyntaxExceptionです

  11. 11

    改造はbegin_arrayが必要でしたが、行1列2パス$のbegin_objectでした

  12. 12

    MovieGlu API:改造2:BEGIN_ARRAYが必要ですが、行1列2パス$でBEGIN_OBJECTでした

  13. 13

    AsyncTaskはBEGIN_OBJECTである必要がありますが、行1列2パス$でBEGIN_ARRAYでした

  14. 14

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

  15. 15

    BEGIN_OBJECTが必要ですが、行1列12パス$ .moviesでBEGIN_ARRAYでした

  16. 16

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

  17. 17

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

  18. 18

    BEGIN_ARRAYが必要ですが、1行2列目がBEGIN_OBJECTでした

  19. 19

    GSON & ボレー => BEGIN_ARRAY が必要でしたが、行 1 列 2 パス $ で BEGIN_OBJECT でした

  20. 20

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

  21. 21

    レトロフィット文字列が必要でしたが、行1、列2のパス$でBEGIN_OBJECTでした

  22. 22

    gsonエラーでjsonを変換するBEGIN_OBJECTが必要ですが、行1、列2のパス$でBEGIN_ARRAYでした

  23. 23

    GSONを使用したJson解析:JsonSyntaxException:java.lang.IllegalStateException:BEGIN_OBJECTが必要ですが、行1、列2のパス$でBEGIN_ARRAYでした

  24. 24

    「BEGIN_OBJECTが必要ですが、1行1列目はSTRINGでした」

  25. 25

    Androidのレトロフィット:java.lang.IllegalStateException:BEGIN_ARRAYが必要ですが、行1、列2のパスでBEGIN_OBJECTでした

  26. 26

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

  27. 27

    文字列が必要でしたが、1行目123パス$ .optionsのBEGIN_OBJECTでした。イージーポスト発送

  28. 28

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

  29. 29

    GsonでJSON(ストリームモード)を解析するJAVAエラー:BEGIN_ARRAYが必要ですが、行1列2パス$でBEGIN_OBJECTでした

ホットタグ

アーカイブ