我想将Java HashMap序列化为字符串表示。 HashMap将仅包含字符串和整数等原始值。之后,此字符串将存储到db。如何恢复HashMap? 是否有意义使用BeanUtils和接口Converter或使用JSON?
例如:
List list = new ArrayList();
list.add(new Long(1));
list.add(new Long(2));
list.add(new Long(4));
Map map = new HashMap();
map.put("cityId", new Integer(1));
map.put("name", "test");
map.put("float", new Float(-3.2));
map.put("ids", list);
map.toString() -> {float=-3.2,ids=[1, 2, 4],name=test,cityId=1}
map.toJSON -> {"float":-3.2,"ids":[1,2,4],"name":"test","cityId":1}
答案 0 :(得分:1)
使用JSON或XStream。
答案 1 :(得分:0)
Jerry博士是对的,你应该做的是使用ObjectOutputStream序列化哈希映射。这将允许您将字节写入数据库BLOB类型列,然后您可以将其反序列化回原始对象。为了重新使用疲惫的陈词滥调,为什么要重新发明轮子?在这种情况下,您是否有特殊原因不想使用Java序列化?