1

我想将 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}
4

2 回答 2

1

使用 JSON 或XStream

于 2010-06-16T11:49:34.030 回答
0

Jerry 博士是正确的,您应该做的是使用 ObjectOutputStream 序列化哈希映射。这将允许您将字节写入数据库 BLOB 类型列,然后您可以将其反序列化回原始对象。重复使用陈词滥调,为什么要重新发明轮子?在这种情况下,您是否有不想使用 Java 序列化的特定原因?

于 2010-06-16T12:41:50.233 回答