从String转换为HashMap的最佳方法是什么?

时间:2010-06-16 11:46:32

标签: java json string apache-commons-beanutils

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

2 个答案:

答案 0 :(得分:1)

使用JSON或XStream

答案 1 :(得分:0)

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