このライブラリeclipse-collectionsに出くわしましたが、それは私のユースケースに合っています。しかし、残念ながら、シリアル化/逆シリアル化で最も人気のある 2 つのライブラリである Gson または Jackson を使用して逆シリアル化することはできません。
2 つのライブラリのいずれかが Eclipse コレクションをサポートしていますか? はいの場合、どのように?
このライブラリeclipse-collectionsに出くわしましたが、それは私のユースケースに合っています。しかし、残念ながら、シリアル化/逆シリアル化で最も人気のある 2 つのライブラリである Gson または Jackson を使用して逆シリアル化することはできません。
2 つのライブラリのいずれかが Eclipse コレクションをサポートしていますか? はいの場合、どのように?
eclipse-collectionsの公式 github リポジトリの Readme にあるドキュメントの 1 つには、次のように記載されています。
残念ながら、新しいコレクション型には通常のシリアル化フレームワークとの互換性がありません。Jackson は、おそらく最も人気のある Java の JSON シリアライゼーション フレームワークですが、すぐに使用できる Eclipse Collections 型をデシリアライズすることはできません。この目的のために、ほとんどの Eclipse コレクション タイプ (プリミティブ コレクションを含む) を直接サポートする Jackson モジュールが用意されています。
彼らは問題に言及するだけでなく、その解決策も提供します。あなたがする必要があるのは、次のようEclipseCollectionsModule
にJacksonのオブジェクトに登録することだけです:ObjectMapper
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.datatype.eclipsecollections.EclipseCollectionsModule;
ObjectMapper mapper = new ObjectMapper().registerModule(new EclipseCollectionsModule());
上記を実行すると、通常どおり ObjectMapper を使用できるようになります。そう、
MutableIntLongMap myDeserialisedVariable = mapper.readValue(jsonString, MutableIntLongMap.class);