ホームページ > Java > &#&チュートリアル > Gson が「BEGIN_OBJECT を予期しましたが STRING でした」エラーをスローするのはなぜですか?

Gson が「BEGIN_OBJECT を予期しましたが STRING でした」エラーをスローするのはなぜですか?

Linda Hamilton
リリース: 2024-12-25 17:00:11
オリジナル
532 人が閲覧しました

Why Does Gson Throw an

Gson 解析の問題: 「Expected BEGIN_OBJECT」エラーについて

JSON 解析用の人気のある Java ライブラリである Gson は、処理中にエラーが発生する可能性があります無効な JSON 構造。そのようなエラーの 1 つは、「BEGIN_OBJECT を予期しましたが、STRING でした」です。このエラーを解決するには、問題と予想される JSON 構造を理解することが重要です。

問題

指定されたコードでは、parseStringToObject メソッドは、 JSON 文字列を Object クラスのインスタンスに追加します。ただし、JSON 文字列は予期されたオブジェクト構造に準拠しておらず、文字列で始まります。

"Invalid JSON structure"
ログイン後にコピー

Gson Expectations

Gson は、JSON 文字列が文字列で始まることを期待しています。オブジェクトの左中括弧 ({) を使用して、それらをオブジェクトに解析します。次に、キーと値のペアの後にオブジェクトの閉じ中括弧 (}) が続くことを期待します。

{
  "name": "John Doe",
  "age": 30
}
ログイン後にコピー
ログイン後にコピー

エラーの説明

エラー メッセージ「BEGIN_OBJECT を期待しましたが、STRING でした」指定された JSON 文字列がオブジェクトの左中括弧で始まっていないことを示します。代わりに、二重引用符で囲まれた文字列「無効な JSON 構造」で始まります。

解決策

エラーを解決するには、JSON 文字列が parseStringToObject に渡されていることを確認してください。は有効な JSON オブジェクトです。左中括弧で始まり、キーと値のペアが含まれ、右中括弧で終わる必要があります。

{
  "name": "John Doe",
  "age": 30
}
ログイン後にコピー
ログイン後にコピー

または、期待される構造が文字列の場合、JSON 文字列は二重を含まない文字列で始まる必要があります。 quotes.

Invalid JSON structure
ログイン後にコピー

正しい JSON 構造に従うことで、使用時の「Expected BEGIN_OBJECT」エラーを防ぐことができます。 JSON 解析用の Gson。

以上がGson が「BEGIN_OBJECT を予期しましたが STRING でした」エラーをスローするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート