0

文字列 keyString が与えられた場合、Java プログラムで次のことを行います。

ObjectId key = new Gson().fromJson(keyString, ObjectId.class);

しかし、この行では、次の例外が発生します。

com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: BEGIN_OBJECT が必要でしたが、1 行目 3 列目で STRING でした

これはどういう意味ですか? また、これを解決するにはどうすればよいですか?

4

2 に答える 2

2

これは、JSON が「{」で始まっていないことを意味します。JSON のオブジェクトは次のようになります。

{
  "name" : "john"
}
于 2013-07-14T18:43:46.670 に答える
1

fromJsonメソッドはオブジェクトを待機しjsonます。これは形式の文字列を意味し、具体的には(でなく)jsonで始まる必要があります。{[

これは有効です:

{ 'id': '1234'}

これは無効です:

[{ 'id': '1234'}]

これも無効です。

abc
于 2013-07-14T18:43:26.673 に答える