Grafico com dados do servidor | Google Chart Tools: Crie Gráficos Memoráveis na Web | Solucionado
Grafico com dados do servidor
Referente ao curso Google Chart Tools: Crie Gráficos Memoráveis na Web
Tiago Germano Pereira
(101.5k xp, 25 posts)
Olá pessoal, estou desenvolvendo uma pequena aplicação financeira e gostaria de colocar alguns graficos nela com o auxilio do Google Chart Tool. Na video-aula 6, foi nos ensinado como carregar um JSON de outro dominio atravez do JSONP. Problema que pelo que entendi o JSON precisa está num padrão para ser carregado na view. No server-side estou usando spring com jackson 2 para gerar o JSON. Minha duvida é: existe alguma forma prática gerar o JSON no formato que o chart Tools entenda ? Vlw pessoal !
você poderia usar bibliotecas do GWT para isso aí, mas, na minha opinião, é simplesmente mais fácil você criar uma classe que olha pros seus objetos e gera o array de dados que o Chart Tools precisa "na mão". Me refiro ao que é passado como parâmetro do addRows abaixo:
data.addColumn('string', 'Produto');
['Ioiô', 2],
['Pião', 1]
Seria uma classe que você chamaria assim:
produtos.add(new Produto("Ioiô", 2));
produtos.add(new Produto("Pião", 1));
String dados = new ConversorChartTools().paraArrayDeDados(produtos);
A vantagem de isolar esse código em uma classe é que, não importa a magia que você vai fazer para gerar esses dados (Reflection, talvez?), tá isolado e é, portanto, testável. :-)
Praticamente fiz o que você sugeriu, fazendo uma classe que implemente. No meu pequeno projeto criei uma classes, basicamente pra formar uma estrutura para quando for gerar o JSON sair como o grafico espera;
dt.addColumn("", "Mes", "string");
dt.addColumn("", "R$", "number");
dt.insert("Janeiro",200.3);
dt.insert("Fevereiro",230.3);
dt.insert("Marco",300.3);
dt.insert("Abril",500.3);
dt.insert("Maio",600.3);
dt.insert("Junho",300.3);
Essa classe DataTable foi a classe que criei pra montar essa estrutura que vi nesse link: https://developers.google.com/chart/interactive/docs/php_example
Ainda to vendo uma forma melhor, tentando seguir as melhores praticas. Apesar de não ter nada demais na implementação, já que é primeiramente só montar a estrutura, o que me "frustou" mais só foi que não tinha nada pronto já que é claro que os dados vão vim do servidor e não diretamente no html.
Mas bom, vou dá uma olhada na tua dica. Muito obrigado pela ajuda Cecilia ;) um abraço.
(259.6k xp, 29 posts)
Caro Tiago, vi que a discussão já está marcada como solucionada, mas como li no último comentário que você ainda pretende procurar uma forma melhor de se fazer a conversão de sql para json, tomei a liberdade de contribuir com uma dica.