Erros no XStream Serialization

23 views
Skip to first unread message

Sérgio Filho

unread,
Jun 5, 2012, 10:39:28 AM6/5/12
to caelum-...@googlegroups.com
Galera, to querendo serializar uma lista e criei o converter

@SuppressWarnings("rawtypes")
public class ListaParametrosConverter implements Converter {

@Override
public boolean canConvert(Class classe) {
return classe.equals(ListaParametros.class);
}

@Override
public void marshal(Object value, HierarchicalStreamWriter writer, MarshallingContext context) {
ExtendedHierarchicalStreamWriter writer2 = (ExtendedHierarchicalStreamWriter) writer;
ListaParametros parametros = (ListaParametros) value;
for (int i = 0; i < parametros.size(); i++) {
Parametro param = parametros.get(i);
writer2.addAttribute(param.getChave(), param.getValor().toString());
}
}

@Override
public Object unmarshal(HierarchicalStreamReader reader, UnmarshallingContext context) {
return null;
}

}

no entanto os nomes dos atributos estão iniciando com um @ e gostaria de saber como faço para inserir um atributo int ou float, pois o método addAttribute só aceita string
segue abaixo a resposta json

{"resposta": [{"@codigo_chamada": "2","@titulo_relatorio": "Relatório","@titulo_ficha": "Ficha","@query_insert": "TESTE","@query_update": "","@query_delete": "","@codigo_consulta": "1"},{"@codigo_chamada": "3","@titulo_relatorio": "Teste","@titulo_ficha": "teste","@query_insert": "teygare","@query_update": "rgaeyg","@query_delete": "rgaeyu","@codigo_consulta": "2"}]}

no caso o "@codigo_chamada" deveria ser assim
{"codigo_chamada": 2}

Lucas Cavalcanti

unread,
Jun 5, 2012, 11:38:49 AM6/5/12
to caelum-...@googlegroups.com
isso pq vc deu um add attribute... o certo seria algo do tipo:

writer.startNode("nome");
writer.setValue(valor); // ou writer.convertAnother(valor)
writer.endNode();

--
You received this message because you are subscribed to the Google Groups "caelum-vraptor" group.
To post to this group, send email to caelum-...@googlegroups.com.
To unsubscribe from this group, send email to caelum-vrapto...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/caelum-vraptor?hl=en.

Sérgio Filho

unread,
Jun 6, 2012, 7:46:49 AM6/6/12
to caelum-...@googlegroups.com
A estrutura do meu JSON precisa ser esta, pois a API que lê o json já existe e só lê dessa forma (ExtJS), se eu der start node, vai abrir um "{", não acredito que a pessoa que implementou esta API deixou apenas dessa forma para setar um atributo. (com "@")
Reply all
Reply to author
Forward
0 new messages