7
GSONを使用してAndroidでJSONをシリアル化/逆シリアル化しようとしています。私はデータをデシリアライズ/シリアライズのためGSONを使用していますGSONカスタムオブジェクトの配列の逆シリアル化
public class User {
@SerializedName("name")
private String _name;
@SerializedName("role")
private int _role;
}
:
public class Session {
@SerializedName("name")
private String _name;
@SerializedName("users")
private ArrayList<User> _users = new ArrayList<User>();
}
と:私はこのように見える2つのクラスを持っています。私はそうのようにシリアライズ:
Gson gson = new Gson();
String sessionJson = gson.toJson(session);
これは、このようになりますJSON生成されます。
{
"name":"hi",
"users":
[{"name":"John","role":2}]
}
をそして私はそうのようにデシリアライズ:
Gson gson = new Gson();
Session session = gson.fromJson(jsonString, Session.class);
私が作るとき、私はエラーを取得していますこの呼び出し。
DEBUG/dalvikvm(739): wrong object type: Ljava/util/LinkedList; Ljava/util/ArrayList;
WARN/System.err(739): java.lang.IllegalArgumentException: invalid value for field
このエラーの意味はわかりません。私は自分自身が間違って何かをやっているのを見ない。どんな助け?ありがとう!
セッションクラスのユーザーリストをArrayListからListに変更すると、問題が解決しないようです。これはGSONの問題を引き起こすはずですか? –