Vraptor JSON - Problema qdo campo na table está null
9 respostas
marcelomello
Bom dia pessoal,
Estamos encontrando o seguinte problema, estamos realizando uma busca no Banco (oracle)
em uma determinada tabela, muitas vezes os campos desta tabela estão com valores nulos,
os mesmos são retornados para um list. Aí qdo colocamos a linha para serialização para json
os campos nulos não são retornados. Por acaso, teria alguma configuração para trazer campos
com valores nulos???
Eu não sei muito bem como funciona a implementação de json/xml do vraptor, mas quando você tem um objeto que é nulo ele não precisa estar no XML, consecutivamente quando você for fazer a leitura desse json/xml o marshaller entenderá que ele é nulo.
A menos que você queira muito que apareça os nulls aí você pode sobrescrever alguma convenção do vraptor para isso. Porém não me parece necessário.
Abraços
Lucas_Cavalcanti
como você está lendo o json gerado?
marcelomello
Lucas,
O problema está no gerar o json e não em ler.
Att,
Mello
Lucas_Cavalcanti
e qual é o problema dele não serializar os campos nulos?
G
garcia-jj
Essa foi minha questão no início de tudo. Quando você fazer o marshal do objeto os valores que não estão no envelope são deixados como nulos, ou seja, não há problema algum os nulos não serem exibidos. Penso que a vontade de aparecer os nulos seja apenas visual.
Lucas, você conhece melhor o backend usado pelo vraptor, que é o XStream, mas pelo que conheço de outros serializers os nulos são tratados da mesma forma, ou seja, não são exibidos. Se é um padrão exibir ou não eu não sei.
Lucas_Cavalcanti
no XStream, e em todos os outros serializers, o padrão é ignorar os nulos…
se o atributo vai aparecer no xml/json ele tem que ser no mínimo vazio ("")
marcelomello
garcia-jj wrote:
Penso que a vontade de aparecer os nulos seja apenas visual.
A necessidade tbém é esta.
Lucas Cavalcanti wrote:
no XStream, e em todos os outros serializers, o padrão é ignorar os nulos…
Como faço para que ele (XStream) não ignore os nulos? Talvez esteja precisando de óculos,
mas não encontrei nada na doc do XStream