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>
javascript
json
Ажееш
источник
источник
<?php echo json_encode($_POST); ?>
?console.log(thisSession);
?!("merchant_id" in thisSession)==0
где вы можете просто использовать"merchant_id" in thisSession
?Ответы:
Попробуй это,
объект JS
thisSession
должен быть какВы можете найти детали здесь
источник
if(thisSession.merchant_id !== undefined)
иif(thisSession.hasOwnProperty('merchant_id'))
или он делает то же самое за кулисами?error Do not access Object.prototype method 'hasOwnProperty' from target object
при использовании этого метода. Мысли?Object.prototype.hasOwnProperty.call(thisSession, 'merchant_id')
Есть несколько способов сделать это, в зависимости от ваших намерений.
thisSession.hasOwnProperty('merchant_id');
скажет вам, если этот сеанс имеет этот ключ сам (то есть не то, что он наследует из других мест)"merchant_id" in thisSession
скажет вам, если этот сеанс имеет ключ вообще, независимо от того, где он получил его.thisSession["merchant_id"]
вернет false, если ключ не существует или если его значение оценивается как false по любой причине (например, если это литералfalse
или целое число 0 и т. д.).источник
(Я хотел указать на это, хотя я и опоздал на вечеринку)
Оригинальный вопрос, который вы пытались найти, по сути, «НЕ В». Похоже, это не подтверждается исследованиями (2 ссылки ниже), которые я проводил.
Так что, если вы хотите сделать «Не в»:
Я бы рекомендовал просто установить это выражение == на то, что вы ищете
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/in http://www.w3schools.com/jsref/jsref_operators.asp
источник
Тип проверки также работает:
источник
Я немного изменяю ваше заявление if и работает (также для унаследованного obj - посмотрите на фрагмент)
Показать фрагмент кода
источник
Вы можете сделать так:
или
источник
функция для проверки неопределенных и нулевых объектов
Вот простой способ проверить, содержит ли отправленный объект неопределенный или нулевой
источник
Можешь попробовать
if(typeof object !== 'undefined')
источник