Check if a key exists inside a JSON object
amt: "10.00"
email: "[email protected]"
merchant_id: "sam"
mobileNo: "9874563210"
orderID: "123456"
passkey: "1234"
The above is the JSON object I'm dealing with. I want to check if the merchant_id
key exists. I tried the below code, but it's not working. Any way to achieve it?
<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>
Solution 1:
Try this,
if(thisSession.hasOwnProperty('merchant_id')){
}
the JS Object thisSession
should be like
{
amt: "10.00",
email: "[email protected]",
merchant_id: "sam",
mobileNo: "9874563210",
orderID: "123456",
passkey: "1234"
}
you can find the details here
Solution 2:
There's several ways to do it, depending on your intent.
thisSession.hasOwnProperty('merchant_id');
will tell you if thisSession has that key itself (i.e. not something it inherits from elsewhere)
"merchant_id" in thisSession
will tell you if thisSession has the key at all, regardless of where it got it.
thisSession["merchant_id"]
will return false if the key does not exist, or if its value evaluates to false for any reason (e.g. if it's a literal false
or the integer 0 and so on).