如何将hashMap转换为Json文件

时间:2012-08-07 18:05:57

标签: java gwt

我喜欢Java。

我必须使用rpc将Hashmap传输到服务器。

HashMap中

Map<String, String> testMap = new HashMap<String, String>();
testMap .put("1", "abc");
testMap .put("2", "ezc");
testMap .put("3", "afc");
testMap .put("4", "cvc");
..

怎么做。

4 个答案:

答案 0 :(得分:8)

看看Jackson JSON processor。特别是代码看起来像:

Map map = your map
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(map);

如果你想要漂亮的JSON(多行)进行调试,那么使用:

String json = mapper.defaultPrettyPrintingWriter().writeValueAsString(map);

答案 1 :(得分:2)

如果有帮助,请参阅此链接..

http://www.mkyong.com/java/how-to-convert-java-map-to-from-json-jackson/

import com.fasterxml.jackson.databind.ObjectMapper;

ObjectMapper mapper = new ObjectMapper();
Map<String, String> testMap = new HashMap<String, String>(); 
testMap .put("1", "abc"); 
testMap .put("2", "ezc"); 
testMap .put("3", "afc"); 
testMap .put("4", "cvc"); 

      mapper.writeValue(new File("c:\\user.json"), testMap);

答案 2 :(得分:2)

你也可以试试GSON库。它快速且易于使用。 下面的包装器类将使您的工作更加轻松

public class ConvertJsonToObject {

    private static Gson gson = new GsonBuilder().create();

    public static final <T> T getFromJSON(String json, Class<T> clazz) {
        return gson.fromJson(json, clazz);
    }

    public static final <T> String toJSON(T clazz) {
        return gson.toJson(clazz);
    }
}

您需要做的就是

Map<String, String> testMap = new HashMap<String, String>();
testMap .put("1", "abc");
testMap .put("2", "ezc");
testMap .put("3", "afc");
testMap .put("4", "cvc");
String json = ConvertJsonToObject.toJSON(testMap);

您可以轻松地将original Object重新放回other side

Map<String, String> newTestMap = ConvertJsonToObject.getFromJSON(json,Map.class);

答案 3 :(得分:2)

我没有抓到:HashMap是Serializable,所以应该可以在客户端和服务器之间使用?