Android 용 Moshi 라이브러리를 사용하여 Java 객체를 JSON으로 변환하려고합니다. 개체 유형ArrayList <float[]>을 Moshi JSON 라이브러리 (Android 용)를 사용하여
의 ArrayList의 속성이 포함 < 플로트 []>
와 나는 개체를 변환하려면 다음 어댑터를 등록하고있다.
가java.lang.IllegalArgumentException가 : 의 java.util.ArrayList는 [] 주석 플랫폼 명시 JsonAdapter가 에 등록 할 필요
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"방법은 다음의 예외 실패 com.squareup.moshi.ClassJsonAdapter $ 1.create (ClassJsonAdapter.java:50) at com.squareup.moshi.Moshi.adapter (Moshi.java:99) at com.squar (ClassJsonAdapter.java:90) ( ) : 99) com.squareup.moshi에서 com.squareup.moshi.ClassJsonAdapter의 $의 1.create에서 com.squareup.moshi.ClassJsonAdapter $ 1.createFieldBindings (ClassJsonAdapter.java:90) (ClassJsonAdapter.java:74) 에서 .Moshi.adapter (Moshi.java:99) at com.squareup.moshi.Moshi.adapter (Moshi.java:57) at com.squareup.moshi.Collectio com.squareup.moshi.Moshi.adapter (Moshi.java:99) 에서 com.squareup.moshi.CollectionJsonAdapter $의 1.create (CollectionJsonAdapter.java:35) 에서 nJsonAdapter.newArrayListAdapter (CollectionJsonAdapter.java:51) 에서 , com.squareup.moshi.Moshi.adapter (Moshi.java:57는)
나는 내 타입 정의가 잘못 생각하지만 난
얻기 귀하의 제안에 따라 다른 오류 : ArrayList를 [] –
AndroidGuy
@androidguy ArrayList를이 플랫폼 유형입니다 등록 할 수있는 명시 적 JsonAdapter을 필요로 주석. JsonAdapter를 등록하거나 List를 사용해야합니다. –