我正在尝试使用moshi将Map转换为json,但是我找不到任何帮助。
val attentionNumbepAdapter: JsonAdapter<Map<String, Employee>> = moshi
.adapter(Types.newParameterizedType(Map::class.java, String::class.java, Employee::class.java))
但它给出IllegalArgumentException
。知道如何正确解决此问题吗?
答案 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);
希望有帮助。