Hola gente. Tengo un problema para acceder a valores específicos de un json.
No soy muy conocedor del json, como leerlo y mostrarlo, así que sepan disculpar mi ignorancia si me cuesta entender sus respuestas.
Yendo al punto, lo que sucede es que tengo que acceder a un json, que no es un archivo sino una URL que me devuelve el objeto json; y una vez accedido leerlo y evaluar ciertos valores específicos, y tomar acción de acuerdo a eso.
Hasta ahora he podido acceder al json y leer todo el contenido, pero entiendo como logar identificar un valor (o varios) en particular, que me interesa, y leerlo, para luego enviar ese valor como parámetro a una función (que ya esta hecha y funciona correctamente).
Les dejo el codigo JavaScript para leer el json, que esta hecho con ajax.jQuery. Y más abajo el resultado de esa lectura.
jQuery:
Código Javascript
:
Ver original$.ajax({
// URL a la que se enviará la solicitud Ajax
url: 'http://ws44403:81/api/generador',
//Cambiar a type: POST si necesario
type: "GET",
// Formato de datos que se espera en la respuesta
dataType: 'json',
// Conexion Asincrona
async: true,
})
.done(function json2txt(obj, path){
var txt = '';
for (var key in obj)
{
if (obj.hasOwnProperty(key))
{
if ('object' == typeof(obj[key]))
{
txt += json2txt(obj[key], path + (path ? ' ---> ' : '') + key);
console.log("Key: " + key); //No se usa
}
else
{
txt += path + ' --valor-> ' + key + ' <> ' + obj[key] + '<br>';
console.log("Value: " + key + obj[key]);//No se usa
}
}
}
$('#results').append(txt);
})
.fail(function( jqXHR, textStatus, errorThrown ) {
if ( console && console.log ) {
console.log( "Algo ha fallado: " + textStatus );
}
});
Resultado en pantalla:
Código:
success ---> 0 ---> entrada ---> frecuencia --valor-> valorMin <> 48.5
success ---> 0 ---> entrada ---> frecuencia --valor-> valorMax <> 51.5
undefinedsuccess ---> 0 ---> entrada ---> frecuencia --valor-> claseR <> ok
success ---> 0 ---> entrada ---> frecuencia --valor-> claseS <> sd
success ---> 0 ---> entrada ---> frecuencia --valor-> claseT <> sd
undefinedundefinedundefinedundefinedsuccess ---> 0 ---> entrada ---> frecuencia --valor-> FrecuenciaSalida <> 0
success ---> 0 ---> entrada ---> frecuencia --valor-> FrecR <> 49,9
success ---> 0 ---> entrada ---> frecuencia --valor-> FrecS <> 0
success ---> 0 ---> entrada ---> frecuencia --valor-> FrecT <> 0
success ---> 0 ---> entrada ---> voltaje --valor-> valorMin <> 180
success ---> 0 ---> entrada ---> voltaje --valor-> valorMax <> 280
success ---> 0 ---> entrada ---> voltaje --valor-> claseVr <> ok
success ---> 0 ---> entrada ---> voltaje --valor-> claseVs <> ok
success ---> 0 ---> entrada ---> voltaje --valor-> claseVt <> ok
undefinedundefinedundefinedsuccess ---> 0 ---> entrada ---> voltaje --valor-> VR <> 229
success ---> 0 ---> entrada ---> voltaje --valor-> VS <> 231
success ---> 0 ---> entrada ---> voltaje --valor-> VT <> 231
undefinedundefinedsuccess ---> 0 ---> salida ---> frecuencia --valor-> valorMin <> 48.5
success ---> 0 ---> salida ---> frecuencia --valor-> valorMax <> 51.5
success ---> 0 ---> salida ---> frecuencia --valor-> claseSalida <> error
success ---> 0 ---> salida ---> frecuencia --valor-> claseR <> sd
success ---> 0 ---> salida ---> frecuencia --valor-> claseS <> sd
success ---> 0 ---> salida ---> frecuencia --valor-> claseT <> sd
success ---> 0 ---> salida ---> frecuencia --valor-> aclaracionSalida <> El valor es menor al mínimo permitido.
undefinedundefinedundefinedsuccess ---> 0 ---> salida ---> frecuencia --valor-> FrecuenciaSalida <> 0
success ---> 0 ---> salida ---> frecuencia --valor-> FrecR <> 0
success ---> 0 ---> salida ---> frecuencia --valor-> FrecS <> 0
success ---> 0 ---> salida ---> frecuencia --valor-> FrecT <> 0
success ---> 0 ---> salida ---> voltaje --valor-> valorMin <> 180
success ---> 0 ---> salida ---> voltaje --valor-> valorMax <> 280
success ---> 0 ---> salida ---> voltaje --valor-> claseVr <> error
success ---> 0 ---> salida ---> voltaje --valor-> claseVs <> error
success ---> 0 ---> salida ---> voltaje --valor-> claseVt <> error
success ---> 0 ---> salida ---> voltaje --valor-> aclaracionR <> El valor es menor al mínimo permitido.
success ---> 0 ---> salida ---> voltaje --valor-> aclaracionS <> El valor es menor al mínimo permitido.
success ---> 0 ---> salida ---> voltaje --valor-> aclaracionT <> El valor es menor al mínimo permitido.
success ---> 0 ---> salida ---> voltaje --valor-> VR <> 0
success ---> 0 ---> salida ---> voltaje --valor-> VS <> 0
success ---> 0 ---> salida ---> voltaje --valor-> VT <> 0
success ---> 0 ---> salida ---> corriente --valor-> valorMin <> 0
success ---> 0 ---> salida ---> corriente --valor-> valorMax <> 0
success ---> 0 ---> salida ---> corriente --valor-> claseIr <> ok
success ---> 0 ---> salida ---> corriente --valor-> claseIs <> ok
success ---> 0 ---> salida ---> corriente --valor-> claseIT <> ok
undefinedundefinedundefinedsuccess ---> 0 ---> salida ---> corriente --valor-> IR <> 0
success ---> 0 ---> salida ---> corriente --valor-> IS <> 0
success ---> 0 ---> salida ---> corriente --valor-> IT <> 0
success ---> 0 ---> salida ---> carga --valor-> claseR <> sd
success ---> 0 ---> salida ---> carga --valor-> claseS <> sd
success ---> 0 ---> salida ---> carga --valor-> claseT <> sd
undefinedundefinedundefinedsuccess ---> 0 ---> salida ---> carga --valor-> CargaR <> 0
success ---> 0 ---> salida ---> carga --valor-> CargaS <> 0
success ---> 0 ---> salida ---> carga --valor-> CargaT <> 0
undefinedundefinedundefinedundefinedundefinedsuccess ---> 0 ---> estado --valor-> claseVoltBat <> ok
success ---> 0 ---> estado --valor-> claseNivelComb <> ok
success ---> 0 ---> estado --valor-> claseTempMotor <> ok
success ---> 0 ---> estado --valor-> claseEstado <> ok
success ---> 0 ---> estado --valor-> valorMinBateria <> 22
success ---> 0 ---> estado --valor-> valorMinFuel <> 30
success ---> 0 ---> estado --valor-> tempMinMotor <> 40
success ---> 0 ---> estado --valor-> Estado <> Automático
success ---> 0 ---> estado --valor-> VoltajeBateria <> 26,5
success ---> 0 ---> estado --valor-> NivelFuel <> 100
success ---> 0 ---> estado --valor-> TempMotor <> 56
success ---> 0 ---> estado --valor-> OilPres <> 5
success ---> 0 ---> estado --valor-> Alarma <> Null
success ---> 0 --valor-> id <> 14
success ---> 0 --valor-> nombre <> Generador GDC1
success ---> 0 --valor-> ip <> 10.48.100.50
undefinedundefinedundefinedundefined
Basicamente necesito acceder a valores como claseR, claseVr, claseVs, entre otros.
Desde ya gracias a los puedan dar una ayuda.
Saludos.