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

今月:

エラーが発生しています。

次の理由により、JSONの解析に失敗しました:com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:BEGIN_ARRAYが必要ですが、1行2列目がBEGIN_OBJECTでした

サーバーのURL

public static final String SERVER_URL = "https://maps.googleapis.com/maps/api/timezone/json?location=-37.8136,144.9631&timestamp=1389162695&sensor=false";

リクエストを実行する

    try {
        // Create an HTTP client
        HttpClient client = HttpClientBuilder.create().build();
        HttpPost post = new HttpPost(SERVER_URL);

        // Perform the request and check the status code
        HttpResponse response = client.execute(post);
        StatusLine statusLine = response.getStatusLine();
        if (statusLine.getStatusCode() == 200) {
            HttpEntity entity = response.getEntity();
            InputStream content = entity.getContent();

            try {
                // Read the server response and attempt to parse it as JSON
                Reader reader = new InputStreamReader(content);

                GsonBuilder gsonBuilder = new GsonBuilder();
                gsonBuilder.setDateFormat("M/d/yy hh:mm a");
                Gson gson = gsonBuilder.create();
                List<Post> postsList = Arrays.asList(gson.fromJson(reader,
                        Post[].class));

                content.close();

                for (Post p : postsList) {
                    System.out.println(p.timeZoneId);
                }

            } catch (Exception ex) {
                System.out.println("Failed to parse JSON due to: " + ex);
            }
        } else {
            System.out.println("Server responded with status code: "
                    + statusLine.getStatusCode());
        }
    } catch (Exception ex) {
        System.out
                .println("Failed to send HTTP POST request due to: " + ex);
    }

ポストクラス

public class Post {
    public String timeZoneId;
    public Post() {

    }
}

どうすればこれを解決できますか?

ブライアンローチ:

あなたは返されたJSONがこれであることをコメントで述べています:

{ 
  "dstOffset" : 3600, 
  "rawOffset" : 36000, 
  "status" : "OK", 
  "timeZoneId" : "Australia/Hobart", 
  "timeZoneName" : "Australian Eastern Daylight Time" 
}

Postオブジェクトの配列があることをGsonに伝えています。

List<Post> postsList = Arrays.asList(gson.fromJson(reader,
                    Post[].class));

あなたはしません。JSONは正確に1つのPostオブジェクトを表し、Gsonがそれを伝えています。

コードを次のように変更します。

Post post = gson.fromJson(reader, Post.class);

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

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

分類Dev

java.lang.IllegalStateException:BEGIN_ARRAYが必要ですが、1行2列目がBEGIN_OBJECTでした

分類Dev

改造:BEGIN_ARRAYが必要でしたが、1行2列目はBEGIN_OBJECTでした

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

文字列が必要ですが、1行目13列目がbegin_arrayでした

分類Dev

BEGIN_ARRAYが必要でしたが、BEGIN_OBJECTでした

分類Dev

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

分類Dev

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

分類Dev

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

分類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

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

分類Dev

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

分類Dev

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

分類Dev

com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:BEGIN_ARRAYが必要ですが、1行目101パスでBEGIN_OBJECTでした

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

Related 関連記事

  1. 1

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

  2. 2

    java.lang.IllegalStateException:BEGIN_ARRAYが必要ですが、1行2列目がBEGIN_OBJECTでした

  3. 3

    改造:BEGIN_ARRAYが必要でしたが、1行2列目はBEGIN_OBJECTでした

  4. 4

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

  5. 5

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

  6. 6

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

  7. 7

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

  8. 8

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

  9. 9

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

  10. 10

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

  11. 11

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

  12. 12

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

  13. 13

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

  14. 14

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

  15. 15

    文字列が必要ですが、1行目13列目がbegin_arrayでした

  16. 16

    BEGIN_ARRAYが必要でしたが、BEGIN_OBJECTでした

  17. 17

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

  18. 18

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

  19. 19

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

  20. 20

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

  21. 21

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

  22. 22

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

  23. 23

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

  24. 24

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

  25. 25

    com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:BEGIN_ARRAYが必要ですが、1行目101パスでBEGIN_OBJECTでした

  26. 26

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

  27. 27

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

  28. 28

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

  29. 29

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

ホットタグ

アーカイブ