Синтаксическая ошибка в GET - JSON с (сервлет + JQUERY) - PullRequest
0 голосов
/ 11 ноября 2011

Я разработал приложение, используя Servlet + JQuery и javascript в браузере Google Chrome. При тестировании с Mozilla Firefox возникают проблемы в методах GET:

$.get('/Aplication/ServletApp', function(ret) {
//other codes here`
}

В консольной ошибке Firebug я вижу:

Syntax error
http://localhost:8080/Aplication/ServletApp

["{\"requisicaoID\":0,\"id\":1292,\"detalhesResumido\":\"\",\"idUsuario\":0,\"dataHoraInsercao\":\"2011-10-18 09:09:52.453\",\"resumoURL\":\"\",\"requisicao\":false,\"nomeProduto\":\"tttt\",\"detalhes\":\"\",\"imagemModel\": ...

Полный JSON:

["{\"requisicaoID\":0,\"dataHoraInsercao\":\"2011-11-11 15:42:56.577\",\"resumoURL\":\"\",\"usuarioFBID\":0,\"requisicao\":false,\"detalhes\":\"\",\"imagemModel\":{\"urlImagem\":null,\"pathImagemLocal\":null,\"imagemFinal\":null},\"dataHoraFormatada\":\"11/11/2011 15:42\",\"usuarioPresenteModel\":null,\"id\":1790,\"idUsuario\":0,\"detalhesResumido\":\"\",\"nomeProduto\":\"celular motorola\",\"URL\":\"\"}","{\"requisicaoID\":0,\"dataHoraInsercao\":\"2011-11-11 15:43:14.077\",\"resumoURL\":\"\",\"usuarioFBID\":0,\"requisicao\":false,\"detalhes\":\"\",\"imagemModel\":{\"urlImagem\":null,\"pathImagemLocal\":null,\"imagemFinal\":null},\"dataHoraFormatada\":\"11/11/2011 15:43\",\"usuarioPresenteModel\":null,\"id\":1791,\"idUsuario\":0,\"detalhesResumido\":\"\",\"nomeProduto\":\"notebook dell\",\"URL\":\"\"}","{\"requisicaoID\":0,\"dataHoraInsercao\":\"2011-11-11 15:43:51.42\",\"resumoURL\":\"www.americanas.com.br/produto/7394187 ...\",\"usuarioFBID\":0,\"requisicao\":false,\"detalhes\":\"DVD Player Automotivo CED229X - Tela 3'', Entrada USB Frontal, Entrada SD Flip Down e Controle Remoto - Philips, Para quem é obcecado por som automotivo e gosta de curtir músicas e vídeos ao vivo em seu carro, chegou o CED229X da Phillips! Este sistema também dispõ...\",\"imagemModel\":{\"urlImagem\":\"http://img.americanas.com.br/produtos/01/02/item/7394/1/7394187_1GG.jpg\",\"pathImagemLocal\":\"1792.jpeg\",\"imagemFinal\":\"/wishlistfb/Desejos?img=1792.jpeg\"},\"dataHoraFormatada\":\"11/11/2011 15:43\",\"usuarioPresenteModel\":null,\"id\":1792,\"idUsuario\":0,\"detalhesResumido\":\"DVD Player Automotivo CED229X - Tela 3'', Entrada USB Frontal, Entrada SD Flip Down e Controle Remoto - Philips, Para quem é obcecado por som automotivo e gosta de curtir músicas e vídeos ao vivo em seu carro, chegou o CED229X da Phillips! Este sistema também dispõ...\",\"nomeProduto\":\"DVD Player Automotivo CED229X - Tela 3'', Entrada USB Frontal, Entrada SD Flip Down e Controle Remot ...\",\"URL\":\"http://www.americanas.com.br/produto/7394187/automotivo/dvdplayerautomotivo/dvdplayer/dvd-player-automotivo-ced229x-tela-3-entrada-usb-frontal-entrada-sd-flip-down-e-controle-remoto-philips\"}","{\"requisicaoID\":0,\"dataHoraInsercao\":\"2011-11-11 15:44:05.373\",\"resumoURL\":\"www.americanas.com.br/produto/7393694 ...\",\"usuarioFBID\":0,\"requisicao\":false,\"detalhes\":\"Kit X Line com 34 Peças para Furadeira - Bosch, Um super jogo composto de acessórios indispensáveis para os seus trabalhos em casa. Toda praticidade que você precisa, para ter em casa ou levar para onde precisa...\",\"imagemModel\":{\"urlImagem\":\"http://img.americanas.com.br/produtos/01/02/item/7480/2/7480235P1.jpg\",\"pathImagemLocal\":\"1793.jpeg\",\"imagemFinal\":\"/wishlistfb/Desejos?img=1793.jpeg\"},\"dataHoraFormatada\":\"11/11/2011 15:44\",\"usuarioPresenteModel\":null,\"id\":1793,\"idUsuario\":0,\"detalhesResumido\":\"Kit X Line com 34 Peças para Furadeira - Bosch, Um super jogo composto de acessórios indispensáveis para os seus trabalhos em casa. Toda praticidade que você precisa, para ter em casa ou levar para onde precisa...\",\"nomeProduto\":\"Kit X Line com 34 Peças para Furadeira - Bosch - Bosch - Americanas.com.br\",\"URL\":\"http://www.americanas.com.br/produto/7393694/ferramentasejardim/ferramentaseletricas/furadeiras/kit-x-line-com-34-pecas-para-furadeira-bosch\"}"]

Но когда я тестирую JSON в http://jsonlint.com/, я получаю VALID JSON-ответ.

Chrome работает отлично, но Firefox выдает ошибку «синтаксическая ошибка».

РЕДАКТИРОВАНИЕ:

На стороне сервера (сервлет) я делаю следующее:

    JSONArray jSONArray = new JSONArray();
    Writer out = httpServletResponse.getWriter();

    List<Model> lstData = new ArrayList<Model>();
    for (Object object : lstData ) {
        jSONArray.put(object);
    }
    out.write(jSONArray.toString());
    out.close();

Метод toString () класса Model:

    public String toString(){
    return new JSONObject(this).toString();         
}

На стороне клиента я делаю следующее:

var = myModel;
$.getJSON('/Aplication/ServletApp', function(ret) {
    $.each(ret, function(k, v) {
          myModel = $.parseJSON(v);
    }
}

С этим изменением данные появляются на экране, но все равно возникает синтаксическая ошибка.

...