Преобразование HashMap с помощью moshi

Я пытаюсь преобразовать HashMap элементов в строку JSON. Я использую метод, используемый в этой ссылке .

  val elementsNew: HashMap<String, Element> = HashMap(elements) val type = Types.newParameterizedType(Map::class.java, String::class.java, Element::class.java) var json: String = builder.adapter(type).toJson(elementsNew) 

Но это дает следующую ошибку

Ошибка: (236, 40) Ошибка ввода типа: недостаточно информации для вывода параметра T в адаптере fun (p0: Тип!): JsonAdapter! Просьба указать его явно.

Может ли кто-нибудь сказать мне, где ошибка? Это из-за Котлина?

Рассматривая подпись метода adapter() , он не может вывести свой параметр типа из аргумента:

 public <T> JsonAdapter<T> adapter(Type type) 

Следовательно, вы должны явно указать тип:

 var json = builder.adapter<Map<String, Element>>(type).toJson(elementsNew) 

или альтернативно:

 val adapter: JsonAdapter<Map<String, Element>> = builder.adapter(type) var json = adapter.toJson(elementsNew)