Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Como buscar en un json

Estas en el tema de Como buscar en un json en el foro de Javascript en Foros del Web. Hola tengo la siguiente duda. ¿Como como puedo hacer una busqueda en un json con jscript.? La ide es la siguiente Donde el json tiene ...
  #1 (permalink)  
Antiguo 22/06/2015, 14:22
Avatar de asassa  
Fecha de Ingreso: julio-2008
Ubicación: En el DF ectuoso
Mensajes: 240
Antigüedad: 15 años, 8 meses
Puntos: 0
Busqueda Como buscar en un json

Hola tengo la siguiente duda.

¿Como como puedo hacer una busqueda en un json con jscript.?

La ide es la siguiente


Donde el json tiene la siguiente cadena.
[{"label":"CONSULTA","value":"CON"},{"label":"GENER AL","value":"GRAL"},{"label":"GERENTE","value":"GT E"},{"label":"ASESOR","value":"ASE"}]

Tengo que hacer una compraacion de un campo que tiene el Value = "GRAL" (por ejemplo) y cuango lo encuentre tomar el valor del "label" del json = "GENERAL".

Pero no se como hacer el recorrido en el archivo json con javascript revise algo como esto pero no se como himplementarlo . Gracias

Código PHP:
$.getJSON('SitPerfil.json', function(contjsonsitperfil){


    
getObjects(TestObj'CVE_T_PERFIL ''IN'); 


document.getElementById("cvesit").valuecontjsonsitperfil[].label;

        function 
getObjects(objkeyval) {
    var 
objects = [];
    for (var 
i in obj) {
        if (!
obj.hasOwnProperty(i)) continue;
        if (
typeof obj[i] == 'contjsonsitperfil') {
            
objects objects.concat(getObjects(obj[i], keyval));
        } else if (
== key && obj[key] == val) {
            
objects.push(obj);
        }
    }
    return 
objects;
}




estoy intentango algo mo esto pero me marca error
Código PHP:
var json=[{"label":"CONSULTA","value":"CON"},{"label":"GENERAL","value":"GRAL"},{"label":"GERENTE","value":"GTE"},{"label":"ASESOR","value":"ASE"}]
;
    var 
js JSON.parse(json);
    
getObjects(getObjects(js,'value','GRAL'));
    
function 
getObjects(objkeyval) {
    var 
objects = [];
    for (var 
i in obj) {
        if (!
obj.hasOwnProperty(i)) continue;
        if (
typeof obj[i] == 'object') {
            
objects objects.concat(getObjects(obj[i], keyval));
        } else if (
== key && obj[key] == val) {
            
objects.push(obj);
        }
    }
    return 
objects;

Me marca un error en var js = JSON.parse(json);

Última edición por asassa; 22/06/2015 a las 15:48
  #2 (permalink)  
Antiguo 22/06/2015, 19:07
 
Fecha de Ingreso: junio-2015
Mensajes: 1
Antigüedad: 8 años, 9 meses
Puntos: 0
Respuesta: Como buscar en un json

El parámetro de la función parse() debe ser una cadena.
var json = "[{.....}]";

Echa un vistazo a esta página de w3schools.

http://www.w3schools.com/json/json_intro.asp
  #3 (permalink)  
Antiguo 23/06/2015, 02:55
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: Como buscar en un json

¿Cómo obtienes el JSON exactamente?
  #4 (permalink)  
Antiguo 26/06/2015, 14:02
Avatar de asassa  
Fecha de Ingreso: julio-2008
Ubicación: En el DF ectuoso
Mensajes: 240
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Como buscar en un json

Hola, ya tengo unos días intentando esto y no logro compilarlo, la como les mencione la idea es usar un json y su contenido compararlo en con una respuesta ("value"), si el valor de value es el mismo a la cadena comparada entonces retornar el label de esa cadena json.

generalmente ocupo los json como

$.getJSON('SitPerfil.json', function(contjsonsitperfil){
}

por ejemplo si , quiero usar una variable que contenga la cadena 'CON', la comparo con el json en su valor "value" y que me retorne el valor del "label" usando el ejemplo de arriba el resultado seria "CONSULTA".

ya evalué la cadena del json y creo que es la estructura del json. pero no estoy seguro. si alguien tiene alguna referencia se lo agradecería . muchas gracias
  #5 (permalink)  
Antiguo 26/06/2015, 14:24
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: Como buscar en un json

Código Javascript:
Ver original
  1. var json = [{"label":"CONSULTA","value":"CON"},{"label":"GENERAL","value":"GRAL"},{"label":"GERENTE","value":"GTE"},{"label":"ASESOR","value":"ASE"}];

Código Javascript:
Ver original
  1. function obtener(valor){
  2.   for(var i = 0; i < json.length; i++){
  3.     if(json[i].value == valor)
  4.       return json[i].label;
  5.   }
  6. }

  #6 (permalink)  
Antiguo 26/06/2015, 15:24
Avatar de asassa  
Fecha de Ingreso: julio-2008
Ubicación: En el DF ectuoso
Mensajes: 240
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Como buscar en un json

Hola muchas gracias me funciono como me lo mostraste.. y con con jquery $.getJSON

$.getJSON('VyrSitPerfil.json', function(contjsonsitperfil){
// var json = [{"label":"CONSULTA","value":"CON"},{"label":"GENER AL","value":"GRAL"},{"label":"GERENTE","value":"GT E"},
{"label":"ASESOR","value":"ASE"}];
function obtener(valor){
for(var i = 0; i < contjsonsitperfil.length; i++){
if(contjsonsitperfil[i].value == valor)
return contjsonsitperfil[i].label;
}
}
var datos = 'CON';
alert (obtener(datos));
})

Última edición por asassa; 26/06/2015 a las 15:46

Etiquetas: busqueda, json
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:32.