我正在学习 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");
..
怎么做。
看看Jackson JSON 处理器。特别是代码看起来像:
Map map = your map
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(map);
如果您想要漂亮的 JSON(多行)进行调试,请使用:
String json = mapper.defaultPrettyPrintingWriter().writeValueAsString(map);
如果有帮助,请参阅此链接..
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);
你也可以试试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);
我不明白:HashMap 是可序列化的,所以应该能够在客户端和服务器之间使用?