1

Me explico, hay una api que me devuel un json como el de esta imagen:

introducir la descripción de la imagen aquí

como se puede ver en los campos fot algunos estan llenos con una cadena de caracteres y otros simplmente están en blanco. estoy preguntando si están vacíos de la siguiente manera data.fot11_c ="" pero no me funciona, también pregunte si es unfinded o null y tampoco entra en el condicional. que significa que esos campos estén en blanco? es decir, que valor tienen cuando estan asi en blanco? obviamente no tienen ningun valor asignado pero necesito saber si estan vacios o no para hacer algo con ellos. como podría hacerlo? estoy trabajando con angular.

Estas son las formas que he intentado para comparar si esos campos del objeto estan vacíos:

1- if(item.fot01_c != "")
2- if(item.fot01_c != undefined)
3- if(item.fot01_c != NULL) 

item es una variable con la cual itero en el archivo json.

JulianProg
  • 1,039
  • 15
  • 37

2 Answers2

1

Tus comparaciones no están bien diseñadas:

2- if(item.fot01_c != undefined)

Esto no funciona en javascript. La traduccion a js de esta comparación seria :

if( typeof(item.fot01_c) != "undefined" ) 

Comparas el tipo de la variable, ya que "undefined" es un tipo en js, no un valor.

3- if(item.fot01_c != NULL)

null si es un valor, pero va en minuscula :

if(item.fot01_c != null)  

Comparas el tipo de la variable, ya que "undefined" es un tipo en js, no un valor.

1- if(item.fot01_c != "")

Esta te debería servir, no se porque te da error

PD: No preguntes si existe el campo en el JSON de esta manera:

4- if(item.fot01_c)

Ya que el campo fot01_c si existe en tu objeto JSON, solo que tiene un valor vacio.

  • Esto no está bien expresado: *si existe en tu objeto JSON*. Como @PabloLozano comenta en la pregunta: [Objeto es diferente de JSON](https://es.stackoverflow.com/questions/164943/cu%c3%a1l-es-la-diferencia-entre-json-y-un-objeto-en-javascript). Saludos – Mauricio Contreras Jun 14 '19 at 14:59
  • Me refería a un objecto javascript. No se puede manipular directamente un archivo JSON en javascript. Es necesario parsearlo primero y convertirlo a objeto. – Buenaventura Pino Moslero Jun 18 '19 at 13:19
  • 1
    Yo no me refiero a la implementación, la cuál está bien. Me refiero a que JSON es un acrónimo usado para definir un formato de intercambio de datos, por lo tanto no es un Objeto. Entonces, no es correcto referirse a JSON como Objeto. Si vas a usar la palabra *Objeto* no la mezcles con *JSON*. Es la finalidad de mi comentario. Saludos – Mauricio Contreras Jun 18 '19 at 13:32
  • Pues si, tienes razón. Gracias ;) – Buenaventura Pino Moslero Jun 18 '19 at 13:39
0

Depende del lenguaje, en JavaScript puede hacer lo siguiente:

const user = { name: 'Foo', avatar: 'https://site.com/image.png' };
if (user.avatar) { console.log('El usuario contiene el campo avatar'); }