如何使用Moshi将地图转换为json

时间:2019-02-05 07:08:47

标签: java json hashmap moshi

我正在尝试使用moshi将Map转换为json,但是我找不到任何帮助。

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

但它给出IllegalArgumentException。知道如何正确解决此问题吗?

1 个答案:

答案 0 :(得分:0)

答案可能有点晚了,仍然在这里。

使用moshi将Map转换为Json的示例方法:

  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);

希望有帮助。