Как конвертировать карту в JSON с помощью Moshi

Я пытаюсь конвертировать Map в JSON, используя Moshi, но я не мог найти какую-либо помощь.

 val attentionNumbepAdapter: JsonAdapter<Map<String, Employee>> = moshi
                .adapter(Types.newParameterizedType(Map::class.java, String::class.java, Employee::class.java))

но это дает IllegalArgumentException, Есть идеи, как правильно подойти к этой проблеме?

0 ответов

Наверное, немного поздно с ответом, но все же он здесь.

Пример метода преобразования карты в Json с использованием moshi:

  private <K, V> String objectsMapToJson(Class<K> key, Class<V> value, Object json) {
    return moshi()
        .adapter(Types.newParameterizedType(Map.class, key, value))
        .toJson(json);
  }

Применение:

      Map<String, Employee> employeeMap = new HashMap<>();

      //populate map with some data

      String json = objectsMapToJson(String.class, Employee.class, employeeMap);

Надеюсь, это поможет.

Другие вопросы по тегам