检查json对象内是否存在键

amt: "10.00"
email: "sam@gmail.com"
merchant_id: "sam"
mobileNo: "9874563210"
orderID: "123456"
passkey: "1234"

以上是我正在处理的JSON对象。 我想检查'merchant_id'键是否存在。 我尝试了下面的代码,但它不工作。 任何方式来实现它?

<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>

尝试这个,

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

}

JS Object thisSession应该是这样的

{
amt: "10.00",
email: "sam@gmail.com",
merchant_id: "sam",
mobileNo: "9874563210",
orderID: "123456",
passkey: "1234"
}

你可以在这里找到细节


根据你的意图,有几种方法可以做到这一点。

thisSession.hasOwnProperty('merchant_id'); 会告诉你,如果thisSession有自己的密钥(即不是从其他地方继承的东西)

"merchant_id" in thisSession会告诉你这个会话是否有密钥,而不管它在哪里。

thisSession["merchant_id"]将返回false,如果该键不存在,或者由于某种原因它的值计算为false(例如,如果它是一个文字false或整数0等等)。


类型检查也可以用作:

if(typeof Obj.property == "undefined"){
    // Assign value to the property here
    Obj.property = someValue;
}
链接地址: http://www.djcxy.com/p/26637.html

上一篇: Check if a key exists inside a json object

下一篇: How to do a deep comparison between 2 objects with lodash?