Ajuda com json

1 resposta
diogoprosoft

Galera estou usando struts2 na minha action retorno um json para pegar no jsp com ajax, mais ao inves de pegar os valores com array quero pegar pelo objeto.atributo como posso fazer isso?

Minha Action

try{
            super.execute();            
            
            Conexao con = new Conexao();
            con.getConnection();                        
            
            ManterClientesInfGeraisService manterClientesInfGeraisService = new ManterClientesInfGeraisService();            
            
            mcg = manterClientesInfGeraisService.insertManterClientesInfGerais(getMcg());
            
            con.Commit();
            con.closeConnection();
            
            sampleList = new ArrayList();
            sampleList.add(mcg.getCodigo());            
            sampleList.add(mcg.getNome());
            sampleList.add(mcg.getPRetMensagem());
            
            System.out.println("-sampleList:" +sampleList.toString());
            
        }catch(Exception e){
            e.printStackTrace();
        }
    
        return Action.SUCCESS;
        
    }

Meu Jsp com o metodo para setar dentro dos textfields

function fetchSuccess(originalRequest){
                
		//this is the json return data
		var result = originalRequest.responseJSON;
              
                for (var i=0;i<result.sampleList.length;i++){
                   
                    if(result.sampleList[1] != null){
                        document.getElementById('nome').value = result.sampleList[1];
                    }
                    if(result.sampleList[2] == 0){
                        document.getElementById('oDivMens').innerHTML = "";
                    }else{
                        document.getElementById('oDivMens').innerHTML = result.sampleList[2];
                    }
                }                

	}

Ao inves de fazer assim document.getElementById('nome').value = result.sampleList[1];
Gostaria de Fazer pegando o objeto.atributo ± assim

$F{'nome'} = result.sampleList.objeto.atributo;

Mais nao esta funcionando.

1 Resposta

mario.fts

Eu nunca tentei com list, aqui eu sempre uso o próprio objeto Json. (http://www.json.org/)

Ele funciona como um Map
try {

			JSONObject json = new JSONObject();
			json.put("campo1", "valor1");
			json.put("campo1", "valor2");

		} catch (JSONException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
ai eu consigo usar o objeto.campo1, por exemplo. Vc pode tentar com um Map também(eu nuca tentei), ao invés de uma List.

[]s

Criado 23 de outubro de 2008
Ultima resposta 23 de out. de 2008
Respostas 1
Participantes 2