myanmarking
06/14/2018, 9:42 AMNo JsonAdapter for class java.lang.Float annotated [@com.x.core.network.retrofit.moshi_converters.nullable.NullableFloat()]
myanmarking
06/14/2018, 9:42 AMmyanmarking
06/14/2018, 9:43 AMmyanmarking
06/14/2018, 9:43 AM.add(NullPrimitiveTypeAdapter())
.add(KotlinJsonAdapterFactory())
myanmarking
06/14/2018, 9:45 AMeric
06/14/2018, 2:21 PMludwig
06/18/2018, 8:19 PMeric
06/19/2018, 12:40 AM@FromJson
private fun fromJson(
response: Response,
circleAdapter: JsonAdapter<Layer.Circle>,
rectangleAdapter: JsonAdapter<Layer.Rectangle>,
squareAdapter: JsonAdapter<Layer.Square>
): Layer {
return when (response) {
TypeEnum.circle -> circleAdapter.fromJsonValue(response.layer)!!
TypeEnum.rectangle -> rectangleAdapter.fromJsonValue(response.layer)!!
TypeEnum.square -> squareAdapter.fromJsonValue(response.layer)!!
}
}
and instead have to do:
@FromJson
private fun fromJson(
reader: JsonReader,
responseAdapter: JsonAdapter<Response>,
circleAdapter: JsonAdapter<Layer.Circle>,
rectangleAdapter: JsonAdapter<Layer.Rectangle>,
squareAdapter: JsonAdapter<Layer.Square>
): Layer {
val response = responseAdapter.fromJson(reader)!!
return when (response.type) {
TypeEnum.circle -> circleAdapter.fromJsonValue(response.layer)!!
TypeEnum.rectangle -> rectangleAdapter.fromJsonValue(response.layer)!!
TypeEnum.square -> squareAdapter.fromJsonValue(response.layer)!!
}
}
but polymorphic stuff is rare enough.
responded with a working test case on your gist.ludwig
06/19/2018, 8:59 AMmyanmarking
06/20/2018, 12:37 PMmbonnin
06/20/2018, 3:02 PMJsonAdapter.Factory
supporting all the generated JsonAdapters
?mbonnin
06/20/2018, 3:03 PMeric
06/20/2018, 5:24 PMmbonnin
06/20/2018, 8:48 PMmyanmarking
06/21/2018, 10:06 AMmyanmarking
06/21/2018, 10:06 AMat com.squareup.moshi.JsonUtf8Reader.nextDouble(Unknown Source)
at com.squareup.moshi.StandardJsonAdapters$6.toJson(Unknown Source)
fromJson
at com.squareup.moshi.ClassJsonAdapter.fromJson(Unknown Source)
toJson
at com.squareup.moshi.JsonAdapter$2.fromJson(Unknown Source)
toJson
at com.squareup.moshi.CollectionJsonAdapter.newLinkedHashSetAdapter(Unknown Source)
fromJson
at com.squareup.moshi.CollectionJsonAdapter$2.newCollection(Unknown Source)
toJson
fromJson
at com.squareup.moshi.JsonAdapter$2.fromJson(Unknown Source)
toJson
at retrofit2.converter.moshi.MoshiResponseBodyConverter.convert(Unknown Source)
convert
at retrofit2.converter.moshi.MoshiResponseBodyConverter.convert(Unknown Source)
convert
at retrofit2.ServiceMethod.toResponse(Unknown Source)
at retrofit2.OkHttpCall.parseResponse(Unknown Source)
at retrofit2.OkHttpCall.execute(Unknown Source)
at retrofit2.adapter.rxjava2.CallExecuteObservable.subscribeActual(Unknown Source)
at io.reactivex.Observable.subscribe(Unknown Source)
subscribe
subscribe
subscribe
subscribe
subscribe
at retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(Unknown Source)
at io.reactivex.Observable.subscribe(Unknown Source)
subscribe
subscribe
subscribe
subscribe
subscribe
at io.reactivex.internal.operators.observable.ObservableSubscribeOn$SubscribeTask.run(Unknown Source)
at io.reactivex.Scheduler$DisposeTask.run(Unknown Source)
at io.reactivex.internal.schedulers.ScheduledRunnable.run(Unknown Source)
at io.reactivex.internal.schedulers.ScheduledRunnable.call(Unknown Source)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:272)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:762)
myanmarking
06/21/2018, 10:07 AMjulioyg
06/21/2018, 11:15 AMmyanmarking
06/21/2018, 11:28 AMmyanmarking
06/21/2018, 11:28 AM@get:NotNullableFloat @NotNullableFloat
myanmarking
06/21/2018, 11:28 AMhmole
06/22/2018, 7:38 PMjw
06/22/2018, 7:38 PMjw
06/22/2018, 7:38 PMhmole
06/22/2018, 7:40 PMjw
06/22/2018, 7:44 PMhmole
06/22/2018, 7:46 PMPaul Woitaschek
06/25/2018, 1:40 PMjw
06/25/2018, 1:41 PMjw
06/25/2018, 1:41 PM