amt: "10.00"
email: "[email protected]"
merchant_id: "sam"
mobileNo: "9874563210"
orderID: "123456"
passkey: "1234"
Di atas adalah objek JSON yang saya hadapi. Saya ingin memeriksa apakah kunci 'merchant_id' ada. Saya mencoba kode di bawah ini, tetapi tidak berfungsi. Adakah cara untuk mencapainya?
<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
sumber
sumber
<?php echo json_encode($_POST); ?>
?console.log(thisSession);
?!("merchant_id" in thisSession)==0
mana Anda bisa menggunakan"merchant_id" in thisSession
?Jawaban:
Coba ini,
Objek JS
thisSession
harus sepertiAnda dapat menemukan detailnya di sini
sumber
if(thisSession.merchant_id !== undefined)
danif(thisSession.hasOwnProperty('merchant_id'))
atau apakah itu melakukan hal yang sama di belakang layar?error Do not access Object.prototype method 'hasOwnProperty' from target object
saat menggunakan metode ini. Pikiran?Object.prototype.hasOwnProperty.call(thisSession, 'merchant_id')
Ada beberapa cara untuk melakukannya, tergantung pada niat Anda.
thisSession.hasOwnProperty('merchant_id');
akan memberi tahu Anda jika sesi ini memiliki kunci itu sendiri (yaitu bukan sesuatu yang diwarisi dari tempat lain)"merchant_id" in thisSession
akan memberi tahu Anda jika sesi ini memiliki kunci sama sekali, terlepas dari mana mendapatkannya.thisSession["merchant_id"]
akan mengembalikan false jika kunci tidak ada, atau jika nilainya dievaluasi menjadi salah karena alasan apa pun (misalnya jika itu literalfalse
atau bilangan bulat 0 dan seterusnya).sumber
(Saya ingin menunjukkan ini meskipun saya terlambat ke pesta)
. Pertanyaan awal yang Anda coba cari adalah 'TIDAK DI' pada dasarnya. Sepertinya tidak didukung dari penelitian (2 tautan di bawah) yang saya lakukan.
Jadi, jika Anda ingin melakukan 'Tidak Masuk':
Saya sarankan hanya mengatur ekspresi itu == untuk apa yang Anda cari
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/in http://www.w3schools.com/jsref/jsref_operators.asp
sumber
Jenis cek juga berfungsi:
sumber
Saya mengubah pernyataan if Anda sedikit dan berfungsi (juga untuk objek bawaan - lihat di cuplikan)
Tampilkan cuplikan kode
sumber
Anda bisa melakukan ini:
atau
sumber
berfungsi untuk memeriksa objek yang tidak terdefinisi dan null
di sini adalah cara mudah untuk memeriksa apakah objek yang dikirim berisi tidak terdefinisi atau nol
sumber
Anda dapat mencoba
if(typeof object !== 'undefined')
sumber