.toJson
and.fromJson
を使用する代わりに立ち寄った場合.writeObject
、.readObject
同じ結果が得られますか?さらに、シリアル化するクラスに配置できるおよびメソッド
に相当するGSONは何ですか?readObject
writeObject
2 に答える
1
Gsonは、Javaシリアル化のドロップイン置換となるほど、継承または循環参照をサポートしていません。
継承の場合は、 RuntimeTypeAdapterFactoryを使用してクラス名をJSON値にエンコードします。
循環参照の場合、 GraphAdapterBuilderを使用して、値ではなく参照によって値をエンコードできます。
これらのファイルはどちらもGsonディストリビューションに含まれていません。それらを使用する場合は、それらをコピーしてアプリに貼り付ける必要があります。
于 2012-12-26T16:51:00.640 に答える
0
Gson AFAIKにはreadObjectとwriteObjectがありません(APIによると)
質問の2番目の部分について:GSONは次のように機能します:次のようにシリアライザー/デシリアライザーを実装できます:
private class DateTimeSerializer implements JsonSerializer<DateTime> {
public JsonElement serialize(DateTime src, Type typeOfSrc, JsonSerializationContext context) {
return new JsonPrimitive(src.toString());
}
}
そしてそれらをに登録しますgson.registerTypeAdapter(DateTime.class, DateTimeSerializer());
于 2012-12-26T07:04:29.457 に答える