amt: "10.00"
email: "[email protected]"
merchant_id: "sam"
mobileNo: "9874563210"
orderID: "123456"
passkey: "1234"
Ce qui précède est l'objet JSON que je traite. Je veux vérifier si la clé 'merchant_id' existe. J'ai essayé le code ci-dessous, mais cela ne fonctionne pas. Une façon de le réaliser?
<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>
javascript
json
Ajeesh
la source
la source
<?php echo json_encode($_POST); ?>
?console.log(thisSession);
?!("merchant_id" in thisSession)==0
où vous pouvez simplement utiliser"merchant_id" in thisSession
?Réponses:
Essaye ça,
l'objet JS
thisSession
devrait être commevous pouvez trouver les détails ici
la source
if(thisSession.merchant_id !== undefined)
etif(thisSession.hasOwnProperty('merchant_id'))
ou fait-elle la même chose dans les coulisses?error Do not access Object.prototype method 'hasOwnProperty' from target object
lors de l'utilisation de cette méthode. Pensées?Object.prototype.hasOwnProperty.call(thisSession, 'merchant_id')
Il existe plusieurs façons de le faire, selon votre intention.
thisSession.hasOwnProperty('merchant_id');
vous dira si cette session a cette clé elle-même (c'est-à-dire pas quelque chose dont elle hérite d'ailleurs)"merchant_id" in thisSession
vous dira si cette session a la clé, peu importe où elle l'a obtenue.thisSession["merchant_id"]
retournera false si la clé n'existe pas, ou si sa valeur est évaluée à false pour une raison quelconque (par exemple, s'il s'agit d'un littéralfalse
ou de l'entier 0, etc.).la source
(Je voulais souligner cela même si je suis en retard à la fête)
La question d'origine, vous essayiez de trouver un «Not IN» essentiellement. Il semble que ce ne soit pas pris en charge par la recherche (2 liens ci-dessous) que je faisais.
Donc, si vous vouliez faire un «pas dedans»:
Je recommanderais simplement de définir cette expression == sur ce que vous recherchez
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/in http://www.w3schools.com/jsref/jsref_operators.asp
la source
La vérification de type fonctionne également:
la source
Je modifie légèrement votre instruction if et fonctionne (également pour obj hérité - regardez l'extrait)
Afficher l'extrait de code
la source
vous pouvez faire comme ça:
ou
la source
fonction pour vérifier les objets non définis et nuls
voici un moyen facile de vérifier si l'objet envoyé est non défini ou nul
la source
Tu peux essayer
if(typeof object !== 'undefined')
la source