Как конвертировать карту в JSON с помощью Moshi - PullRequest
0 голосов
/ 05 февраля 2019

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

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

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

1 Ответ

0 голосов
/ 16 июня 2019

Возможно, немного поздно с ответом, но он все еще здесь.

Пример метода преобразования Map в 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);

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

...