reflect org java json struts2

java - org - Uso de la clase de utilidad JSON de Struts 2 incorporada



org apache struts2 json jsonexception java lang reflect invocationtargetexception (1)

Después de deserializar JSON, puede usar JSONPopulator para rellenar las propiedades de bean de un mapa. P.ej

JSONPopulator populator = new JSONPopulator(); AccountVO vo = new AccountVO(); populator.populateObject(vo, map);

En un proyecto de Struts 2, necesitamos serializar y deserializar objetos, ya que nuestro requisito es muy simple, decidimos usar Struts 2 JSONUtil lugar de gson .

import org.apache.struts2.json; String json = JSONUtil.serialize(myAccountVO); // return: {"accountNumber":"0105069413007","amount":"1500","balance":"215000"}

Para la deserialization , enfrentamos la class cast exception

AccountVO vo =(AccountVO) JSONUtil.deserialize(json); //Exception

Encuentro que la deserialization devuelve un mapa con el valor clave de las propiedades del objeto. Entonces debo hacer lo siguiente:

HashMap<String,String> map = (HashMap) JSONUtil.deserialize(string) accountVo.setAccountNumber(map.get("accountNumber")); ....

Bueno, ¿puedo hacerlo mejor o estoy esperando demasiado de esta utilidad?