6

我正在学习 Java。

我必须使用 rpc 将 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

4 回答 4

11

看看Jackson JSON 处理器。特别是代码看起来像:

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

如果您想要漂亮的 JSON(多行)进行调试,请使用:

String json = mapper.defaultPrettyPrintingWriter().writeValueAsString(map);
于 2012-08-07T18:12:09.490 回答
7

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

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);
于 2012-08-07T18:08:27.770 回答
3

你也可以试试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);
于 2012-08-07T19:14:49.130 回答
2

我不明白:HashMap 是可序列化的,所以应该能够在客户端和服务器之间使用?

于 2012-08-07T19:55:50.637 回答