vacio tamaño saber recorrer objetos objeto mostrar esta ejemplo dinamico datos crear array javascript json

javascript - tamaño - Compruebe si existe una clave dentro de un objeto json



saber si un objeto esta vacio javascript (7)

Función para comprobar objetos no definidos y nulos.

function elementCheck(objarray, callback) { var list_undefined = ""; async.forEachOf(objarray, function (item, key, next_key) { console.log("item----->", item); console.log("key----->", key); if (item == undefined || item == '''') { list_undefined = list_undefined + "" + key + "!! "; next_key(null); } else { next_key(null); } }, function (next_key) { callback(list_undefined); }) }

Esta es una forma fácil de verificar si el objeto enviado contiene un valor indefinido o nulo

var objarray={ "passenger_id":"59b64a2ad328b62e41f9050d", "started_ride":"1", "bus_id":"59b8f920e6f7b87b855393ca", "route_id":"59b1333c36a6c342e132f5d5", "start_location":"", "stop_location":"" } elementCheck(objarray,function(list){ console.log("list"); )

amt: "10.00" email: "[email protected]" merchant_id: "sam" mobileNo: "9874563210" orderID: "123456" passkey: "1234"

Lo anterior es el objeto JSON con el que estoy tratando. Quiero comprobar si existe la clave ''merchant_id''. Probé el siguiente código, pero no funciona. ¿Alguna forma de lograrlo?

<script> window.onload = function getApp() { var thisSession = JSON.parse(''<?php echo json_encode($_POST); ?>''); //console.log(thisSession); if (!("merchant_id" in thisSession)==0) { // do nothing. } else { alert("yeah"); } } </script>


Hay varias formas de hacerlo, dependiendo de tu intención.

thisSession.hasOwnProperty(''merchant_id''); le dirá si esta sesión tiene esa clave en sí (es decir, no es algo que herede de otra parte)

"merchant_id" in thisSession le dirá si esta sesión tiene la clave, independientemente de dónde la obtuvo.

thisSession["merchant_id"] devolverá false si la clave no existe, o si su valor se evalúa como falso por cualquier motivo (por ejemplo, si es un literal false o el entero 0 y así sucesivamente).


La verificación de tipos también funcionará como:

if(typeof Obj.property == "undefined"){ // Assign value to the property here Obj.property = someValue; }


Prueba esto,

if(thisSession.hasOwnProperty(''merchant_id'')){ }

El objeto JS de esta thisSession debería ser como

{ amt: "10.00", email: "[email protected]", merchant_id: "sam", mobileNo: "9874563210", orderID: "123456", passkey: "1234" }

puedes encontrar los detalles here


Puede probar if(typeof object !== ''undefined'')


Que hay de esto

if (thisSession.merchant_id){ ... }

Es mucho más simple que las soluciones anteriores.


Solo quería señalar esto aunque llego tarde a la fiesta. La pregunta original que estaba tratando de encontrar un "No EN" esencialmente que parece que no está respaldada por la investigación (2 enlaces a continuación) que estaba haciendo. Así que si quisieras hacer un no:

("merchant_id" in x) true ("merchant_id_NotInObject" in x) false

Recomiendo simplemente establecer esa expresión == a lo que estás buscando

if (("merchant_id" in thisSession)==false) { // do nothing. } else { alert("yeah"); }

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/in http://www.w3schools.com/jsref/jsref_operators.asp