Dúvida Json

2 respostas
C

Olá pessoal

estou com uma duvida qto ao json, gostaria de saber se tem como passar a estrutura:

public class Imovel {

	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	private Long id;
	@ManyToOne
	private Ruas endereco;
	@Column(name = "numero", nullable = false, length = 6)
	private String numero;
...

para a página

o meu controler esta assim

@Get
	@Path("/json/buscaimovel/{endereco}")
	public void buscaImovel(String endereco) {
		result.use(Results.json()).from(idao.buscaImovel(endereco)).serialize();
	}

funciona mas não passa o var de endereço por ser uma instancia de outra classe, tem como eu passar essas informações?

vlw

2 Respostas

Lucas_Cavalcanti

o vraptor só inclui automaticamente os campos primitivos (Strings, números e datas…)

pra incluir campos de outro tipo (como ruas), vc precisa incluí-los explicitamente:

result.use(Results.json()).from(idao.buscaImovel(endereco))
     .include("endereco").serialize(); // endereco eh o nome do atributo

ou pedir pra incluir tudo, mas isso não funciona se vc tiver referências circulares:

result.use(Results.json()).from(idao.buscaImovel(endereco)).recursive().serialize();
C

vlw pela dica Lucas, mas consegui resolver usando hql mas assim é mais facil

Criado 8 de julho de 2010
Ultima resposta 9 de jul. de 2010
Respostas 2
Participantes 2