Consulta JSON con Amcharts

Iniciado por Pablo Videla, 19 Marzo 2013, 15:42 PM

0 Miembros y 1 Visitante están viendo este tema.

Pablo Videla

Hola estimados, conocen amcharts?

Es una libreria para generar graficos con JSON

Lo que pasa es que tengo un xml y lo pase a json.


El ejemplo de amcharts es el siguiente

Código (javascript) [Seleccionar]

           var chartData = [{
               country: "Lithuania",
               value: 260
           }, {
               country: "Ireland",
               value: 201
           }, {
               country: "Germany",
               value: 65
           }, {
               country: "Australia",
               value: 39
           }, {
               country: "UK",
               value: 19
           }, {
               country: "Latvia",
               value: 10
           }];

           AmCharts.ready(function () {
               // PIE CHART
               chart = new AmCharts.AmPieChart();
               chart.dataProvider = chartData;
               chart.titleField = "country";
               chart.valueField = "value";
               chart.outlineColor = "#FFFFFF";
               chart.outlineAlpha = 0.8;
               chart.outlineThickness = 2;
               // this makes the chart 3D
               chart.depth3D = 15;
               chart.angle = 30;

               // WRITE
               chart.write("chartdiv");


La cosa es que quiero hacer lo mismo, pero con este json

{"itemListadoGeneral":{"cabecera":{"valorCabecera":["item","Cif2","Cif1","Diferencia Cif","Fob2","Fob1","Diferencia Fob"]},"cuerpo":{"item":[{"itemId":"88","itemCodigo":"225","itemName":"EE.UU.","itemCif2":"130583.46999999999","itemCifMercado2":"71.13484739725445","itemCif1":"250072.99","itemCifMercado1":"59.19154504796229","itemDiffCif":"-47.781857608852526","itemFob2":"117163.07","itemFobMercado2":"70.22612567593723","itemFob1":"224956.36000000002","itemFobMercado1":"58.22483790748828","itemDiffFob":"-47.91742273923707","itemFlete2":"12955.92","itemFlete1":"24269.709999999995","itemDiffFlete":"-46.6169146644109","itemSeguro2":"464.48","itemSeguro1":"846.9200000000001","itemDiffSeguro":"-59.2593","itemCantidadRegistros2":"11","itemCantidadRegistros1":"27","itemDiffCantidadRegistros":"intDiffCantidadRegistros"},{"itemId":"235","itemCodigo":"563","itemName":"Alemania","itemCif2":"41888.52","itemCifMercado2":"22.81861155854444","itemCif1":"140916.5","itemCifMercado1":"33.35452324439828","itemDiffCif":"-70.2742262261694","itemFob2":"39741.51","itemFobMercado2":"23.820579947346175","itemFob1":"134441.65000000002","itemFobMercado1":"34.797163677725194","itemDiffFob":"-70.43958475665836","itemFlete2":"1990.7","itemFlete1":"5897.46","itemDiffFlete":"-66.24479012998816","itemSeguro2":"156.31","itemSeguro1":"577.39","itemDiffSeguro":"-72.2222","itemCantidadRegistros2":"5","itemCantidadRegistros1":"18","itemDiffCantidadRegistros":"intDiffCantidadRegistros"},{"itemId":"188","itemCodigo":"509","itemName":"Austria","itemCif2":"5699.3099999999995","itemCifMercado2":"3.104677392319612","itemCif1":"4110.51","itemCifMercado1":"0.9729456901167116","itemDiffCif":"38.65213805586166","itemFob2":"5527.73","itemFobMercado2":"3.3132544383025166","itemFob1":"1962.7199999999998","itemFobMercado1":"0.5080054365112655","itemDiffFob":"181.63619874459934","itemFlete2":"115.58","itemFlete1":"2091.73","itemDiffFlete":"-94.47443025629502","itemSeguro2":"56","itemSeguro1":"56.06","itemDiffSeguro":"-50.0000","itemCantidadRegistros2":"2","itemCantidadRegistros1":"4","itemDiffCantidadRegistros":"intDiffCantidadRegistros"},{"itemId":"189","itemCodigo":"510","itemName":"Inglaterra (',uk)","itemCif2":"3596.46","itemCifMercado2":"1.9591578725111976","itemCif1":"9785.789999999999","itemCifMercado1":"2.3162678608949285","itemDiffCif":"-63.24813837206806","itemFob2":"3126","itemFobMercado2":"1.8736865538175107","itemFob1":"9221.66","itemFobMercado1":"2.3868169752478585","itemDiffFob":"-66.10154787749711","itemFlete2":"414.46000000000004","itemFlete1":"452.13","itemDiffFlete":"-8.33167451839072","itemSeguro2":"56","itemSeguro1":"112","itemDiffSeguro":"-50.0000","itemCantidadRegistros2":"2","itemCantidadRegistros1":"4","itemDiffCantidadRegistros":"intDiffCantidadRegistros"},{"itemId":"83","itemCodigo":"220","itemName":"Brasil","itemCif2":"1422.13","itemCifMercado2":"0.7746998952398607","itemCif1":"323.66999999999996","itemCifMercado1":"0.07661174197850777","itemDiffCif":"339.37652547347614","itemFob2":"1205","itemFobMercado2":"0.7222624111804543","itemFob1":"11.2","itemFobMercado1":"0.0028988652935345713","itemDiffFob":"10658.928571428572","itemFlete2":"189.03","itemFlete1":"312.25","itemDiffFlete":"-39.461969575660525","itemSeguro2":"28.1","itemSeguro1":"0.22","itemDiffSeguro":"0.0000","itemCantidadRegistros2":"2","itemCantidadRegistros1":"2","itemDiffCantidadRegistros":"intDiffCantidadRegistros"},{"itemId":"190","itemCodigo":"511","itemName":"Suecia","itemCif2":"381.84","itemCifMercado2":"0.20800588413041593","itemCif1":"","itemCifMercado1":"","itemDiffCif":"","itemFob2":"73.56","itemFobMercado2":"0.044090973416127985","itemFob1":"","itemFobMercado1":"","itemDiffFob":"","itemFlete2":"280.28","itemFlete1":"","itemDiffFlete":"","itemSeguro2":"28","itemSeguro1":"","itemDiffSeguro":"","itemCantidadRegistros2":"1","itemCantidadRegistros1":"","itemDiffCantidadRegistros":"intDiffCantidadRegistros"}]}}}


Como rayos puedo ingresar siguiendo el formato anterior a los datos para que el js del grafico me lo tome.

Gracias de antemano.

Pablo Videla

Uffff al fin pude solucionar el tema, primero que todo el ejemplo amchart contiene un arreglo de datos, lo mio era un objeto de datos que dentro de el habia una arreglo

la solucion era esto

chart.dataProvider = chartData.itemListadoGeneral.cuerpo.item;

Utilizarlo como objeto chartData y llegar al punto que este el arreglo =D, eso es todo , saludos.

#!drvy

Te iba a contestar exactamente eso antes pero pensé que realmente lo que querías era mostrar TODOS los datos que tienes en el json en el chart y lo deje xD.

PD: Te recomiendo JSON Formatter para validación y formateo (para mejor lectura) =)
http://jsonformatter.curiousconcept.com/

Saludos

Pablo Videla

Cita de: drvy | BSM en 19 Marzo 2013, 17:42 PM
Te iba a contestar exactamente eso antes pero pensé que realmente lo que querías era mostrar TODOS los datos que tienes en el json en el chart y lo deje xD.

PD: Te recomiendo JSON Formatter para validación y formateo (para mejor lectura) =)
http://jsonformatter.curiousconcept.com/

Saludos

Gracias por tu sugerencia, te dejo este link que tambien me ayudo a comprender el problema.

http://www.jsoneditoronline.org/

#!drvy

Muy buena.. otra que va a los marcadores :P

Saludos