Modificar o JSON gerado pelo VRaptor3

Olá pessoal,

eu tenho o seguinte método em um controller:

result.use(Results.json()).from(lista).serialize();

funciona tudo certinho, porém, eu precisava fazer um replace em um nome de uma campo dos objetos gerado pelo JSON antes de enviar para a aplicação, só que dependendo da situação hora eu vou trocar o nome de um campo, hora de outro… será que tem como ???

[]'s

se a lista for do mesmo objeto, não tem um jeito tão fácil de fazer isso…

pq vc quer fazer isso?

é que eu não achei nenhum outro jeito para informar no plugin autocomplete do jquery qual campo ele deve usar como value. abaixo esta meu código js:

$(document).ready(function() {
		$("#campoLocalizarValorAtividade").autocomplete({
			source : function(request, response) {
				$.ajax({
					url : "atividade/buscaAutoComplete",
					dataType : "json",
					data : {
						style : "full",
						maxRows : 12,
						campo : $('#campoLocalizarAtividade').val(),
						valor : request.term
					},
					success : function(data) {
						response($.map(data.list, function(item) {
							return {
								label : item.descricao,
								value : item.codigo
							};
						}));
					}
				});
			},
			minLength : 2,
			open : function() {
				$(this).removeClass("ui-corner-all").addClass("ui-corner-top");
			},
			close : function() {
				$(this).removeClass("ui-corner-top").addClass("ui-corner-all");
			}
		});
		
	});

onde eu tenho value : item.codigo eu tenho que mudar conforme a seleção em uma combobox.

jeito fácil de fazer isso, crie a classe:

public class Autocomplete {
   private String label;
   private String value;
   public Autocomplete(String label, String value) {...}
   // getters
}

e transforme a sua lista numa lista de Autocomplete, passando os valores que vc quer:

List<Autocomplete> lista =...
for (Coisa coisa : coisas) {
     lista.add(new Autocomplete(coisa.getDescricao(), coisa.getCodigo()));
}
result.use(Results.json()).withoutRoot().from(lista).serialize();

Valeu lucas, deu certo!