[RESOLVIDO] Problemas com $.parseJSON("string") - JQuery + JSON

Boa noite a todos, estou com o seguinte problema: Fiz uma requisição via Ajax com auxílio do JQuery e então criei um callback para capturar o resultado e realizar alguns procedimentos anterior a exibição dos resultados. Neste callback eu consigo acessar todos os atributos de um DTO simples (chamado GenericDTO), pois o dto retorna no formato JSON conforme codigos abaixo:

GenericDTO:

[code]public class GenericDTO implements Serializable{

private static final long serialVersionUID = 1L;

private String tituloDialog;
private String mensagem;
private String classeImagem;
private String classeMensagem;
private String status;
private String modelo;
private String listaModelo;

public GenericDTO(){

}
    //gets e sets

[/code]

JSON do GenericDTO (resultado da request/response):

Na requisição ajax meu programa acessa um método java que criei para montar uma “JSON String” a partir dos beans conforme exemplo para o bean de cliente no atributo modelo no JSON do GenericDTO ilustrado acima. Como percebido, esta String é setada no campo modelo do meu DTO e então eu consigo recuperá-la no JSON quando receber a resposta da requisição, conforme código (JavaScript) abaixo:

Recuperada a String, utilizo o método $.parseJSON(JSONStringCliente) para transformar minha String em um JSON e então poder acessar as propriedades de cliente conforme o seguinte código:

var json = $.parseJSON(JSONStringCliente);
alert(1);
alert(json.cliente.nome);

A função parseJSON é executada normalmente porém quando tento acessar uma propriedade do JSON obtido tenho o seguinte resultado no console do firebug:

Hora: 16/05/2013 19:03:29
Erro: TypeError: json.cliente is undefined
Arquivo-fonte: http://localhost:8080/app/js/appForm.js
Linha: 131

Alguém sabe me me apontar aonde estou errando? Desde já agradeço pela atenção e ajuda!
PS.: o alert(1) funciona normalmente mostrando que a função parseJSON está funcionando corretamente e quando dou alert em json ele alerta o seguinte conteúdo:

Ninguêm?

Vc não deveria pegar o cliente dentro de “modelo”?
Nunca trabalhei dessa forma com JSon, geralmente insiro o objeto diretamente do JSon. No seu caso, vc não deveria tratar “modelo” como um vetor? Posso estar falando besteira mas é uma tentantiva, acessar o cliente através de:

json.modelo.cliente.nome;
// ou
json.modelo[0].nome;

Fabio na verdade eu fiz isto, eu peguei a String no formato JSON do cliente que eu montei do lado do Java e então retornei ela na minha request no campo modelo do meu GenericDTO, este sim retornou um JSON (porém o JSON retornado pelo VRaptor não atende o formato que desejo). Depois peguei a String recuperada e transformei em um JSON utilizando o método parseJSON do jquery, atribuindo o resultado a variável json. Porém não consegui percorrer os campos da variável json e não sei aonde está o meu erro. Eu também pensei que o resultado poderia ser um vetor e por isto havia tratado o resultado do parseJSON como um vetor para fazer o teste, porém não obtive o resultado esperado!

Não sei como funciona o método do JQuery mas vc já tentou recuperar o JSon diretamente com o método “eval()” do Javascript? Ex:

var json = eval('(' + textoJson + ')');

Na verdade tbm já fiz essa tentativa porém não tive muito sucesso! Eu estou meio perdido aqui tbm, até pq se vc reparar o meu JSON n tem raiz e eu não estou sabendo colocar, pq quando tento colocar ele da problema no método parseJSON.
Estava tentando criar minha String do JSON da seguinte forma (lembrando que essa String é criada no Java e não no JavaScript):

"{ "cliente":"{ "cliente.serialVersionUID":"1", "cliente.nomePai":"RONALDO ROSA", "cliente.nomeMae":"MARIA EMxCDLIA", "cliente.serialVersionUID":"1", "cliente.idPessoa":"7", "cliente.nome":"GABRIEL ARAxDAJO GARCIA", "cliente.cpfCnpj":"99999999999", "cliente.rg":"99999999", "cliente.email":"ti.gabriel88@gmail.com", "cliente.telefone":"(99)9999-9999", "cliente.celular":"(99)9999-9999", "cliente.dataNascimento":"1988-05-18 00:00:00.0", "cliente.endereco.serialVersionUID":"1", "cliente.endereco.idEndereco":"12", "cliente.endereco.cidade":"UBERLxC2NDIA", "cliente.endereco.estado":"MG", "cliente.endereco.logradouro":"RUA TABAJARAS", "cliente.endereco.numero":"994", "cliente.endereco.cep":"99999999", "cliente.endereco.bairro":"SARAIVA", "cliente.endereco":"br.com.meujuridico.model.Endereco@2b", "cliente.dataInclusao":"2013-03-08 16:06:05.0", "cliente.tipoPessoa":"PF" }" }"

Mas ai da erro de sintaxe: SyntaxError: JSON.parse: expected ‘,’ or ‘}’ after property value in object

Como vc está gerando o JSon no java? Está usando a classe JSONObject? Se não estiver tente usar, segue um exemplo abaixo:

public JSONObject testeJSon() {
    JSONObject json = new JSONObject();

    try {
        json.put("success", true); // preencho success para verificar no javascript
        json.put("cliente", cliente); // insiro o cliente (com todos os dados) no JSon para passar para a página jsp
    } catch (JSONException jx) {
        // Excessão gerada pelo JSONObject
    }

Depois disso faço a conversão com o “eval()” como eu disse anteriomente.

Não, eu até estava testando com o JSONObject mas a forma que ele montava o json não me atendia, ai criei um método com reflection pra montar pramim a String do JSON. Acabei resolvendo meu problema fazendo o parseJSON e então utilizei um $.each para iterar a String. Não ficou exatamente como eu queria mas vai resolver o meu problema! Obrigado pela ajuda de qualquer forma :smiley: