[RESOLVIDO]vRaptor - retornar Objeto atraves de json, nao consigo mostrar na pagina

nao consigo pegar o objeto e inserir na pagina, porem os objetos são povoados.

metodo no controller:

	
	@Get("/util/carregaEmpresa/{empresa}")
	public void carregaEmpresa(int empresa) {
		if(empresa != 0) {
			Empresa emp = this.empresaRep.findEmpresaById(empresa);
			result.use(Results.json()).withoutRoot().from(emp).serialize();		
		}
	}

meu ajax na pagina:

$('#procurarEmpresa').on('click', function(){  
	      var self = $('#codigoDaEmpresa');  
	      var selecionado = self.val(); // pega o codigo digitado no input  
	      $.ajax({  
	    	 url:'<c:url value="/util/carregaEmpresa/" />'+ selecionado, 
	         dataType:'json',
	         success:function(data){   
	            var options = [];
	         	//  
	            for (var i = 0; i < data.length; i++) {
	            	options.push('<label><c:out value="Codigo:" />'+data[i].codigo+' </label>');
	            	options.push('<label><c:out value="Descrição:" />'+data[i].descricao+' </label>');
	            	options.push('<label><c:out value="Cnpj:" />'+data[i].cnpj+' </label>');  
	            }  
	              
	            $('#mostraEmpresa').html(options.join(''));  
	         },  
	         error:function(){  
	            alert('erro');
	         }  
	      });  
	   });  
	});

pagina de onde pego os codigos e mostro:

<div class="input-append">
			  	<input class="span2" id="codigoDaEmpresa" placeholder="Codigo da Empresa" type="text"/>
			  	<button id="procurarEmpresa" class="btn" type="button"><i style="height: 18px;" class="icon-search"></i></button>
			</div>
			
			<div id="mostraEmpresa" class="cerca" style="background-color: #f5f5f5;">
                                 //quero mostrar o json aqui.
				<label><c:out value="Codigo:" /></label>
				<label><c:out value="Descrição:" /></label>
				<label><c:out value="Cnpj:" /></label>
				<hr/>
				<button id="addEmpresa" class="btn" type="button">Adicionar</button>
			</div>

quando executo o codigo, essa parte do mostraEmpresa, simplemente fica em branco depois que executo. o metodo está sendo chamado certinho e está povoando direitim o objeto

Acho que o problema está aqui:

for (var i = 0; i &lt; data.length; i++) { options.push('&lt;label&gt;&lt;c:out value="Codigo:" /&gt;'+data[i].codigo+' &lt;/label&gt;'); options.push('&lt;label&gt;&lt;c:out value="Descrição:" /&gt;'+data[i].descricao+' &lt;/label&gt;'); options.push('&lt;label&gt;&lt;c:out value="Cnpj:" /&gt;'+data[i].cnpj+' &lt;/label&gt;'); }
Como você está mandando somente 1 objeto, você não pode usá-lo como array… Portanto, seria isso:

//for (var i = 0; i &lt; data.length; i++) { options.push('&lt;label&gt;&lt;c:out value="Codigo:" /&gt;'+data.codigo+' &lt;/label&gt;'); options.push('&lt;label&gt;&lt;c:out value="Descrição:" /&gt;'+data.descricao+' &lt;/label&gt;'); options.push('&lt;label&gt;&lt;c:out value="Cnpj:" /&gt;'+data.cnpj+' &lt;/label&gt;'); //}

Ou então, você deveria retornar uma lista de empresas…

Vale lembrar, também, que esses <c:out value=“Codigo:” /> NAO vão funcionar, pois são tags da JSP e só funcionam na JSP, não funcionam no JavaScript…

Opa rafael, fui ler um pouco da Api do jquery e resolvi.

ficou assim:

success:function(data){  
	        	 $('#infoEmpresa').html(
	        		'<label>Codigo: <a>'+data.codigo+'</a></label>'+
					'<label>Descrição: <a>'+data.descricao+'</a></label>'+
					'<label>Cnpj: <a>'+data.cnpj+'</a></label>'
	        	 );
	         },  
 error:function(){
	        	 $('#infoEmpresa').html(
	 	        	 '<label>Codigo: </label>'+
	 				 '<label>Descrição: </label>'+
	 				 '<label>Cnpj: </label>'
	 	        	);
	            alert('Empresa Inexistente');
	         } 

// e na pagina ficou assim:

<div id="mostraEmpresa" class="cerca" style="background-color: #f5f5f5;">
				<div id="infoEmpresa">
					<label>Codigo:</label>
					<label>Descrição:</label>
					<label>Cnpj:</label>
				</div>
						
				<hr/>
				<button id="addEmpresa" class="btn" type="button">Adicionar</button>
			</div>