Не могу разобрать картус Моши в Котлине - Неожиданный примитивный дубль - PullRequest
0 голосов
/ 19 февраля 2019
val moshi = Moshi.Builder().build()
val type = Types.newParameterizedType(Map::class.java, String::class.java, Double::class.java)
val adapter = moshi.adapter<Map<String, Double>>(type)

val result = adapter.fromJson(InitData.json)

просто переключаюсь с Гсона на Моши, и я столкнулся с этой проблемой.Я ожидаю, что приведенный выше код будет работать, поскольку он, кажется, работает нормально с Map<String, String>.

. Я получаю IllegalArgumentException: неожиданный примитив double.Используйте коробочный тип

То же самое для Float.Я знаю, что здесь происходит, но разве это невозможно с Моши?

Это использует com.squareup.moshi:moshi-kotlin:1.8.0

1 Ответ

0 голосов
/ 20 февраля 2019

Использование Types.newParameterizedType(Map::class.java, String::class.java, Double::class.javaObjectType)

javaOjectType возвращает соответствующий упакованный тип для примитивных типов.

...