javascript - একটি জেসন বস্তুর ভিতরে একটি কী বিদ্যমান কিনা তা পরীক্ষা করুন




json (7)

আপনি যদি চেষ্টা করতে if(typeof object !== 'undefined')

amt: "10.00"
email: "[email protected]"
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>

নীচে JSON Objecy মধ্যে মিস কী অ্যারে দিতে সাহায্য করতে পারেন

 var ValidKeys= ['amt','email','merchant_id','mobileNo','orderID','passkey'];
var foundKeys=[],missedKeys=[];
 var jsonObject={
"amt": "10.00",
"email": "[email protected]",
"merchant_id": "sam",
"mobileNo": "9874563210",
"orderID": "123456",
"passkey": "1234"}

for(i=0;i<Object.keys(jsonObject).length;i++){
 if(ValidKeys.indexOf(Object.keys(jsonObject)[i])>-1){
   foundKeys.push(Object.keys(jsonObject)[i]);
 }
 else{
   missedKeys.push(Object.keys(jsonObject)[i]);
 }
}


 console.log(missedKeys.length)

(আমি পার্টিতে দেরী করলেও এটিকে ইঙ্গিত করতে চাই)
আসল প্রশ্ন আপনি মূলত একটি 'না ইন' খুঁজে বের করার চেষ্টা করছেন। দেখে মনে হচ্ছে গবেষণা থেকে (নীচে 2 টি লিঙ্ক) সমর্থিত নয় যা আমি করছি।

তাই যদি আপনি 'না ইন' করতে চেয়েছিলেন:

("merchant_id" in x)
true
("merchant_id_NotInObject" in x)
false 

আমি শুধু আপনি যে খুঁজছেন তা এক্সপ্রেশন == সেটিংস সুপারিশ চাই

if (("merchant_id" in thisSession)==false)
{
    // do nothing.
}
else 
{
    alert("yeah");
}

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/in http://www.w3schools.com/jsref/jsref_operators.asp


আপনার অভিপ্রায় উপর নির্ভর করে এটি করার বিভিন্ন উপায় আছে।

thisSession.hasOwnProperty('merchant_id'); এই অধিবেশনটি কী নিজের কাছে আছে কিনা তা আপনাকে জানাবে (অর্থাত্ অন্য কোথাও এটি উত্তরাধিকারী নয়)

"merchant_id" in thisSession আপনাকে বলবে যে এই অধিবেশনটির কী কী আছে, তা সত্ত্বেও এটি কোথায় পাওয়া যায়।

thisSession["merchant_id"] কী উপস্থিত না থাকলে thisSession["merchant_id"] ফেরত দেবে, অথবা যদি এর মান মিথ্যা কারণে মূল্যায়ন করে (যেমন এটি একটি আক্ষরিক false বা পূর্ণসংখ্যা 0 এবং এরকম হয়)।


টাইপ চেক কাজ করে:

if(typeof Obj.property == "undefined"){
    // Assign value to the property here
    Obj.property = someValue;
}

অনির্ধারিত এবং নল বস্তু পরীক্ষা ফাংশন

function elementCheck(objarray, callback) {
        var list_undefined = "";
        async.forEachOf(objarray, function (item, key, next_key) {
            console.log("item----->", item);
            console.log("key----->", key);
            if (item == undefined || item == '') {
                list_undefined = list_undefined + "" + key + "!!  ";
                next_key(null);
            } else {
                next_key(null);
            }
        }, function (next_key) {
            callback(list_undefined);
        })
    }

এখানে পাঠানো বস্তু অনির্ধারিত বা নাল আছে কিনা তা পরীক্ষা করার জন্য একটি সহজ উপায়

var objarray={
"passenger_id":"59b64a2ad328b62e41f9050d",
"started_ride":"1",
"bus_id":"59b8f920e6f7b87b855393ca",
"route_id":"59b1333c36a6c342e132f5d5",
"start_location":"",
"stop_location":""
}
elementCheck(objarray,function(list){
console.log("list");
)

আপনার কোডের সমস্যাটি হল জাভাস্ক্রিপ্ট কেস সংবেদনশীল। আপনার পদ্ধতি কল

indexof()

আসলে হতে হবে

indexOf()

এটি ফিক্স করার চেষ্টা করুন এবং এটি সাহায্য করে দেখুন:

if (test.indexOf("title") !=-1) {
    alert(elm);
    foundLinks++;
}




javascript json