Problema FLEX + JAVA + JSON

2 respostas
surfzera

Pessoal estou tentando o seguinte erro ao tentar inserir dados no banco, e não sei como solucionar, se alguem puder ajudar:

org.codehaus.jackson.map.JsonMappingException: Can not deserialize instance of java.util.Date out of START_OBJECT token

public function inserir():void{
	var projeto:Object = new Object();
	projeto.id = inputCodigo.text; 
	projeto.codigo = inputNumero.text; 
	projeto.id_componente = comboComponentes.selectedItem.id;
	projeto.versao = inputVersao.text;
	projeto.data_inicio = new Date(Date.parse(inputDataInicio.text));
	projeto.data_fim = new Date(Date.parse(inputDataFim.text));
	projeto.tamanho_estimado = inputTamanhoEstimadoPF.text;
	projeto.tamanho_estimado_nao_mensuraveis = inputTamanhoNaoMensuravelPF.text;
	projeto.id_cliente = comboClientes.selectedItem.id;
	projeto.estado = comboStatus.selectedItem.data;	
	Net.jsonPostRequest(UrlsGestio.URL_PROJETOS,projeto,inserirResultHandler,inserirFaultHandler);
}

private function inserirResultHandler(re:ResultEvent):void{
	var objResult:Object = JSON.decode(re.result.toString());
	if(objResult.inserir.estado == 1){
		HAlert.informacao(HMensagens.SucessoSalvar);
		listar();
		limparCadastroProjeto();
	}else{
		HAlert.erro(HMensagens.ErroSalvar);
	}
}

private function inserirFaultHandler(fault:FaultEvent):void{
	HAlert.erro(HMensagens.ErroSalvar);
}

Metodo JSON Request

public static function jsonPostRequest(url:String, objeto:Object, sucesso:Function, erro:Function):void{
	var mensagem:String = JSON.encode(objeto);
	Net.httpRequest(url,"POST","application/json",mensagem,sucesso,erro);
}

//Controler

@RequestMapping(method = RequestMethod.POST)
public View inserir(@RequestBody Projeto projeto) {
	if (projeto == null)
		throw new IllegalArgumentException("É obrigatório especificar o Projeto!!");
	MensagemSimplesResponse r = new MensagemSimplesResponse();
	projetoService.salvar(projeto);
	r.setEstado(1);
	MappingJacksonJsonView view = new MappingJacksonJsonView();
	view.addStaticAttribute("inserir", r);
	return view;
}

2 Respostas

Java_Boy

Bom pra ele nao esta serializando o Date do Java, provalmente no resultevent deve estar vindo um valor com caracter especial ou algo do tipo, tenta setar uma string “01/01/1970 00:00:00” pra ver o que acontece.

E outra coisa, só como sugestão, to num projeto Flex/Java também, e pra conversao XML->JSON venho usando essa lib, atendendo bem as necessides:

http://json-lib.sourceforge.net/

surfzera

cara funciono perfeito… realmente era a conversão que estava errada.

abraço

Criado 30 de julho de 2010
Ultima resposta 30 de jul. de 2010
Respostas 2
Participantes 2