Какой лучший способ конвертировать из String в HashMap? - PullRequest
1 голос
/ 16 июня 2010

Я хотел бы сериализовать Java HashMap в строковое представление. HashMap будет содержать только примитивные значения, такие как строка и целое число. После этого эта строка будет сохранена в БД. Как восстановить обратно 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 ]

1 голос
/ 16 июня 2010

Используйте JSON или XStream .

0 голосов
/ 16 июня 2010

Доктор Джерри прав, что вы должны сделать, это сериализовать карту хеш-функции с помощью ObjectOutputStream.Это позволит вам записать байты в столбец типа BLOB базы данных, а затем вы сможете десериализовать его обратно в исходный объект.Чтобы повторно использовать уставший штамп, зачем изобретать велосипед?Есть ли конкретная причина, по которой вы не хотите использовать сериализацию Java в этом случае?

...