我正在尝试使用 moshi 将 Map 转换为 json,但我找不到任何帮助。
val attentionNumbepAdapter: JsonAdapter<Map<String, Employee>> = moshi
.adapter(Types.newParameterizedType(Map::class.java, String::class.java, Employee::class.java))
但它给出了IllegalArgumentException
。知道如何正确解决这个问题吗?
最佳答案
答案可能有点晚了,但仍然在这里。
使用 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);
希望有帮助。
关于java - 如何使用 Moshi 将 map 转换为 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54529268/