2013-01-15 22 views
28
साथ खाली
$.getJSON(url, function(json) { 
    var output = ''; 
    $.each(json, function(i,d) { 

    if(d.DESCRIPTION == 'null'){ 
     console.log("Its empty"); 
    } 
    var description = d.DESCRIPTION; 
    output += '<tr><td>'+d.NAME+'</td><td>'+'<tr><td>'+d.DESCRIPTION+'</td><td>'; 
    }); 
}); 

मैं अगर वस्तु लौटे खाली है की जाँच करने केअगर JSON वापसी jQuery

if(d.DESCRIPTION == 'null'){ console.log("Its empty"); 

जोड़ने की कोशिश की है की जांच कैसे करें, लेकिन यह काम नहीं करता।

क्या कोई मुझे समझा सकता है कि इसमें क्या गलत है?

+0

आप jQuery 1.9 में अपग्रेड करते हैं, यह ठीक से यदि एक json स्ट्रिंग वापस नहीं किए गए त्रुटि कॉलबैक के लिए जाना जाएगा। –

+0

'if (d && d.length)' – adeneo

+2

यदि आप इसके बजाय जांच करना चाहते हैं कि सरणी के किसी ऑब्जेक्ट में खाली डेटा है, तो हमें यह देखना होगा कि आपके जेसन स्ट्रिंग में वास्तव में क्या लौटाया जा रहा है क्योंकि यह सर्वर के आधार पर भिन्न हो सकता है साइड भाषा और जेसन उत्पन्न करने की आपकी विधि। –

उत्तर

53

बस सरणी खाली होने पर परीक्षण करें।

$.getJSON(url,function(json){ 
    if (json.length == 0) { 
     console.log("NO DATA!") 
    } 
}); 
+6

कहा था कि "लंबाई" संपत्ति नहीं है JSON ऑब्जेक्ट में ऐसा है यदि आपको ऐरे इंस्टेंस के साथ प्रतिक्रिया नहीं मिलती है तो आप "कोई डेटा नहीं" समाप्त कर देंगे! ऑब्जेक्ट अकसर खाली नहीं होने पर भी हर समय संदेश भेजें। यह जवाब कैसे स्वीकृत हो गया और श्री अरुण प्रताप सिंह के नीचे एक सही उत्तर से अधिक प्रतिष्ठा प्राप्त करने के लिए मेरे लिए एक मिस्टर है। –

+0

@Soul_man सही, लेकिन इस मामले में यह स्पष्ट रूप से एक सरणी थी। * "केविन बी क्षमा करें कंसोल में प्रतिक्रिया पाठ वास्तव में [] है।" * –

+1

मेरी स्थिति की लंबाई में –

53

कोड (jQuery.isEmptyObject (anyObject) समारोह पहले से ही प्रदान की जाती है) के नीचे पूरी तरह से ठीक काम करता है, कोई ज़रूरत नहीं अपना खुद का एक लिखने के लिए।

// works for any Object Including JSON(key value pair) or Array. 
    // var arr = []; 
    // var jsonObj = {}; 
    if (jQuery.isEmptyObject(anyObjectIncludingJSON)) 
    { 
     console.log("Empty Object"); 
    } 
5
if (!json[0]) alert("JSON empty"); 
+6

हाय जस्टिन, आपके कोड के साथ कुछ स्पष्टीकरण प्रदान करना बेहतर है, पूछने वाले से यह समझ जाएगा कि वह विशेष कोड क्यों काम करता है। – edi9999

+0

यह एकमात्र समाधान है जो मेरे लिए काम करता है। क्या आप कृपया बता सकते हैं कि क्या हो रहा है? धन्यवाद! – eaglei22

+0

यह देखने के लिए जांच कर रहा है कि पहली वस्तु मौजूद है या नहीं। यदि JSON के पास कुछ भी है, तो पहली वस्तु होगी। –

-2
$.getJSON(url,function(json){ 
if (json.length == 0) 
{ 
console.log("NO !") 
} 
}); 
+4

हाय, स्टैक ओवरफ़्लो में आपका स्वागत है। कृपया देखें [अच्छे उत्तरों कैसे लिखें] (http://meta.stackexchange.com/q/7656)। साथ ही, इस प्रश्न का उत्तर बहुत समय पहले दिया गया है, यदि आप अपना समय अधिक [हालिया प्रश्न] (http://stackoverflow.com/questions) में समर्पित करते हैं तो हम खुश होंगे। – Mifeet