Problemas con JSON y graficas
Publicado por Alez (9 intervenciones) el 19/10/2010 13:57:08
Buenas a tod@s,
Como no sabia donde incluir esta duda, la escribo aqui en el foro de javascript ya que es en el fondo algo asociado con javascript. Mi problema lo tengo con JSON.
Resulta que yo recibo un archivo json que contiene una información X. En uno de los campos que es de tipo array me interesa convertirlo en un array de parejas. Ejemplo: Recibo [[1,2,3,4]] y quiero convertirlo en [[0,1],[1,2],[2,3],[3,4]]. Esto lo hago correctamente.
Así pues consigo establecer el JSON que recibo al formato que me interesa.
El problema viene dado en que cuando yo quiero recoger este nuevo formato y pintar una gráfica con él, no me pinta nada y no se que pasa exactamente porque si yo pongo a mano los valores que ha de recoger la gráfica...entonces si me lo hace bien.
Os adjunto el código de la página para que podais entender el funcionamiento (disculpad que no ponga nombres ya que es un proyecto interno y tengo prohibido dar información...de ahí las xxxx):
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>MONITORING PAGE</title>
<script language="javascript" type="text/javascript" src="../flot/jquery.js"></script>
<script language="javascript" type="text/javascript" src="../flot/jquery.flot.js"></script>
</head>
<body>
<table>
<tr>
<td align="center">
Memory
</td>
</tr>
<tr>
<td>
<div id="plot_system_memory" style="width:400px;height:200px"></div>
</td>
</tr>
</table>
<script id="source" language="javascript" type="text/javascript">
var radiobut = "general";
var valtime = 0;
var valsystem = 0;
var valqueue = 0;
var carga = 0;
fetchData(radiobut,valtime,valsystem,valqueue);
function fetchData(radiobut,valtime,valsystem,valqueue) {
$.ajax({
url: "nombre_url/xxxx.json",
method: 'GET',
dataType: 'json',
success: onDataReceived
});
function onDataReceived(series) {
var original_label = "memory";
var original_data = series.system.history[0].memory;
var plot_data= new Object();
plot_data.label = original_label;
plot_data.data = new Array();
for (i=0;i<original_data.length;i++){
plot_data.data[i] = [i,original_data[i]];
}
$.plot($("#plot_system_memory"), plot_data); //NO PINTA NADA EN PANTALLA
}
}
</script>
</body>
</html>
A mi favor decir que el archivo json se recibe correctamente y de ahi que "var original_data = series.system.history[0].memory;" lo recoge bien el valor.
Disculpad las molestias y muchas gracias por todo desde ya,
Alez
Como no sabia donde incluir esta duda, la escribo aqui en el foro de javascript ya que es en el fondo algo asociado con javascript. Mi problema lo tengo con JSON.
Resulta que yo recibo un archivo json que contiene una información X. En uno de los campos que es de tipo array me interesa convertirlo en un array de parejas. Ejemplo: Recibo [[1,2,3,4]] y quiero convertirlo en [[0,1],[1,2],[2,3],[3,4]]. Esto lo hago correctamente.
Así pues consigo establecer el JSON que recibo al formato que me interesa.
El problema viene dado en que cuando yo quiero recoger este nuevo formato y pintar una gráfica con él, no me pinta nada y no se que pasa exactamente porque si yo pongo a mano los valores que ha de recoger la gráfica...entonces si me lo hace bien.
Os adjunto el código de la página para que podais entender el funcionamiento (disculpad que no ponga nombres ya que es un proyecto interno y tengo prohibido dar información...de ahí las xxxx):
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>MONITORING PAGE</title>
<script language="javascript" type="text/javascript" src="../flot/jquery.js"></script>
<script language="javascript" type="text/javascript" src="../flot/jquery.flot.js"></script>
</head>
<body>
<table>
<tr>
<td align="center">
Memory
</td>
</tr>
<tr>
<td>
<div id="plot_system_memory" style="width:400px;height:200px"></div>
</td>
</tr>
</table>
<script id="source" language="javascript" type="text/javascript">
var radiobut = "general";
var valtime = 0;
var valsystem = 0;
var valqueue = 0;
var carga = 0;
fetchData(radiobut,valtime,valsystem,valqueue);
function fetchData(radiobut,valtime,valsystem,valqueue) {
$.ajax({
url: "nombre_url/xxxx.json",
method: 'GET',
dataType: 'json',
success: onDataReceived
});
function onDataReceived(series) {
var original_label = "memory";
var original_data = series.system.history[0].memory;
var plot_data= new Object();
plot_data.label = original_label;
plot_data.data = new Array();
for (i=0;i<original_data.length;i++){
plot_data.data[i] = [i,original_data[i]];
}
$.plot($("#plot_system_memory"), plot_data); //NO PINTA NADA EN PANTALLA
}
}
</script>
</body>
</html>
A mi favor decir que el archivo json se recibe correctamente y de ahi que "var original_data = series.system.history[0].memory;" lo recoge bien el valor.
Disculpad las molestias y muchas gracias por todo desde ya,
Alez
Valora esta pregunta
0