java - 如何使用 Moshi 将 map 转换为 json

标签 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。知道如何正确解决这个问题吗?

最佳答案

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

使用 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/

相关文章:

javascript - api 响应返回 "↵"

json - Elasticsearch:默认模板不检测日期

java - HashMap 是如何决定把东西放在哪里的呢?

c++ - 在 C++ 中实现哈希表

Java - HashMap 内存 : optimization

java - gradle 中单个复制任务中的多个复制规范(嵌套复制规范)

Java 多线程对象

java - 处理 boolean 数组的 int 输入时遇到问题

Java方法签名: Stream versus Collection versus var-arg

json - spring mvc 3 内容类型 "application/json"可从客户端运行,但不能从单元测试运行