java - 在 Java 中将 HashMap 写入 JSON

标签 java json

我是 Java 新手。我一直致力于一个使用 Maven 和 Java 1.7 的项目。在我的项目中,我有一个 HashMap。我想将这个 HashMap 输出到 JSON。目前推荐的方法是什么?

当我进行 Google 搜索时,我会得到很多选项(例如 Jackson)。但是,我不确定我应该使用什么。另外,我想使用可通过 Maven 访问的库。

谢谢,

最佳答案

您可以使用 Google GSON图书馆。

只需将其添加到您的 pom 中

<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.2.4</version>
</dependency>

并将这个类添加到你的项目中

import java.lang.reflect.Type;
import java.util.*;
import com.google.gson.*;
import com.google.gson.reflect.TypeToken;

public class JsonHelper {
    private static final Gson gson = new GsonBuilder().disableHtmlEscaping().create();
    private static final Type TT_mapStringString = new TypeToken<Map<String,String>>(){}.getType();

    public static Map<String, String> jsonToMapStringString(String json) {
        Map<String, String> ret = new HashMap<String, String>();
        if (json == null || json.isEmpty())
            return ret;
         return gson.fromJson(json, TT_mapStringString);
    }
    public static String mapStringStringToJson(Map<String, String> map) {
        if (map == null)
            map = new HashMap<String, String>();
         return gson.toJson(map);
    }
}

我猜你会想出如何使用它

关于java - 在 Java 中将 HashMap 写入 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22937888/

相关文章:

java - iText/列表 : How to remove symbol from list?

java - 一次有多个 FileOutputStream?

java.net.SocketException : Connection reset With HTTPConnection

json - 使用 ServiceStack 提供带有 .json 文件扩展名的物理 JSON 文件

javascript - 未在无序列表中显示 json 解析的数据

javascript - 使用 API key 加载 D3 Url

java - 在java中读取xml时junit nullpointerException

java - 复杂密码的正则表达式

python - 为 Django 获取 JSON 数据的最佳 JSON 库?

ruby-on-rails - JSON 参数在请求哈希中不可用(Rails、omniauth-google-oauth2 gem)