regresar - recorrer json jquery
Compruebe si la clave existe en la matriz JSON utilizando JQuery (4)
He realizado la validación AJAX y el mensaje validado se devuelve como una matriz JSON. Por lo tanto, necesito verificar si las claves, como el name
y el email
, están en esa matriz JSON.
{"name":{"isEmpty":"Value is required and can''t be empty"},
"email":{"isEmpty":"Value is required and can''t be empty"}}
Solo si el nombre de la clave está presente, necesito escribir un mensaje de error en el campo del name
. A continuación se muestra el código para mostrar un error si se ingresan campos
if(obj[''name'']''isEmpty'']!=""){
$(''#name'').after(c1+"<label class=''error''>"+ obj[''name''][''isEmpty'']+"</label>");
}
if(obj[''email''][''isEmpty'']!="" ){
$(''#email'').after(c4+"<label class=''error''>"+ obj[''email''][''isEmpty'']+"</label>");
}
Pero si se ingresa el campo de name
, no estará en la matriz JSON. Entonces la declaración de verificación if(obj[''name''][''isEmpty'']!="")
Dará como resultado un error obj.name not found
.
No es necesario tener un name
clave en la matriz. Al mismo tiempo, necesito verificar que esto muestre el error si la matriz posee el name
la clave.
No hay necesidad de JQuery simplemente lo puedes hacer
if(yourObject[''email'']){
// what if this property exists.
}
como con cualquier valor para el email
devolverá true
, si no hay tal propiedad o si el valor de la propiedad es null
o undefined
resultará en false
si tienes una matriz
var subcategories=[{name:"test",desc:"test"}];
function hasCategory(nameStr) {
for(let i=0;i<subcategories.length;i++){
if(subcategories[i].name===nameStr){
return true;
}
}
return false;
}
si tienes un objeto
var category={name:"asd",test:""};
if(category.hasOwnProperty(''name'')){//or category.name!==undefined
return true;
}else{
return false;
}
usa la función hasOwnProperty de javascript,
if(json_object.hasOwnProperty(''name'')){
//do struff
}
if(typeof theObject[''key''] != ''undefined''){
//key exists, do stuff
}
//or
if(typeof theObject.key != ''undefined''){
//object exists, do stuff
}
Estoy escribiendo aquí porque nadie parece dar la respuesta correcta ...
Sé que es viejo ...
Alguien podría cuestionar lo mismo ..