我喜欢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");
..
怎么做。
答案 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,所以应该可以在客户端和服务器之间使用?