Android用のMoshiライブラリを使用してJavaオブジェクトをJSONに変換しようとしています。オブジェクトは、タイプArrayList <float[]>をMoshi JSONライブラリ(Android用)を使用してシリアル化する方法
のArrayListのプロパティを含む<フロート[]>
と私はオブジェクトを変換するには、次のアダプタを登録しています。
Type type = Types.newParameterizedType
(List.class, HistoryPath.class, ArrayList.class, Float[].class, Float.class);
JsonAdapter<Drawing> adapter = moshi.adapter(type);
String json = adapter.toJson(drawing);
"toJson" 方法は、次の例外で失敗:
java.lang.IllegalArgumentExceptionが:プラットフォーム java.util.ArrayListの[]は に登録することが明示的 JsonAdapterを必要と注釈付きcom.square.moshi.ClassJsonAdapter $ 1.create(ClassJsonAdapter.java:50) com.square.moshi.Moshi.adapter(Moshi.java:99) at com.squar eup.moshi.ClassJsonAdapter $ 1.createFieldBindings(ClassJsonAdapter.java:90) ( )com.squareup.moshi.ClassJsonAdapter $ 1.create(ClassJsonAdapter.java:74) at com.square.moshi.Moshi.adapter(Moshi.java :99) でcom.squareup.moshi.ClassJsonAdapter $ 1.createFieldBindings(ClassJsonAdapter.java:90) でcom.squareup.moshi.ClassJsonAdapter $ 1.create(ClassJsonAdapter.java:74) com.squareup.moshiで.Moshi.adapter(Moshi.java:99) at com.square.moshi.Moshi.adapter(Moshi.java:57) at com.squareup.moshi.Collectio nJsonAdapter.newArrayListAdapter(CollectionJsonAdapter.java:51) で com.squareup.moshi.Moshi.adapterでcom.squareup.moshi.CollectionJsonAdapter $ 1.create(CollectionJsonAdapter.java:35) (Moshi.java:99) でcom.squareup.moshi.Moshi.adapter(Moshi.java:57)
私は私のタイプの定義が間違っていると思うが、私は
あなたの提案に基づいてさまざまなエラーを取得: は のArrayList注釈付き[] –
AndroidGuy
@androidguyのArrayListを登録する明示的なJsonAdapterを必要とするプラットフォームのタイプです。 JsonAdapterを登録するか、Listを使用する必要があります。 –