2011-10-14 10 views
39

मैं 'नाम' मान प्राप्त करने के लिए इसके माध्यम से लूप करने की कोशिश कर रहा हूं। मेरे पास वर्तमान में यही है, लेकिन ऐसा लगता है कि यह काम नहीं कर रहा है, यहां कुछ पोस्ट किए गए लोगों से कुछ अन्य लोगों की कोशिश की लेकिन कुछ भी काम नहीं कर रहा था।लूप के माध्यम से जेसन सरणी jquery

$.get("/get_names", {campaign_id: $('select[name="id"]').val()}, 
       function(data){ 
        $.each(data, function(i, item) { 
         alert(item); 
        }); 
       } 
    ); 

Json लौटाए जाने:

item.name 
item[i].name 

कोई सुझाव:

[ 
      { 
       "name":"age" 
      }, 
      { 
       "name":"asdf" 
      }, 
      { 
       "name":"drivername" 
      }, 
      { 
       "name":"drivers" 
      }, 
      { 
       "name":"firstname" 
      }, 
      { 
       "name":"gender" 
      }, 
      { 
       "name":"lastname" 
      }, 
      { 
       "name":"make" 
      }, 
      { 
       "name":"model" 
      }, 
      { 
       "name":"vehicles" 
      }, 
      { 
       "name":"year" 
      } 
     ] 

मैं का उपयोग कर की कोशिश की है?

धन्यवाद!

data = $.parseJSON(data); 
$.each(data, function(i, item) { 
    alert(item); 
}); 
+0

कोशिश 'आइटम [मैं] [0]' – jackJoe

+0

एक एकल ब्रैकेट देता है, '[' – dzm

+0

मतलब है कि यह एक सरणी ... – jackJoe

उत्तर

111

आप JSON के रूप में स्ट्रिंग पार्स करने में (data[0] == "[" एक संकेत है कि data वास्तव में एक स्ट्रिंग, नहीं एक वस्तु है) है। बस एक स्ट्रिंग।

आप बदले वस्तु की डेटाप्रकार जरूरत json होने की

+2

है कि है कि मैं :) –

+0

नीचे लिखा था लेकिन यह नहीं है के रूप में यह इलाज नहीं कर रहा है स्क्रिप्ट async बनाओ ?? – ruveena

1

मुझे लगता है कि आप सर्वर से json वस्तु लौटने न:

9

आप भी .getJSON() विधि के लिए .get() विधि से बदल सकता है, jQuery तो पार्स जाएगा स्ट्रिंग का javascript ऑब्जेक्ट और/या सरणी data रूप में लौट आए कि फिर आप किसी अन्य जावास्क्रिप्ट ऑब्जेक्ट/सरणी की तरह संदर्भित कर सकते हैं।

ऊपर दिए गए कोड का उपयोग करते हुए, यदि आपने .get से .getJSON बदल दिया है, तो आपको सरणी में प्रत्येक तत्व के लिए [object Object] की अलर्ट प्राप्त करनी चाहिए। यदि आपने अलर्ट को alert(item.name) पर बदल दिया है तो आपको नाम मिलेंगे।

संबंधित मुद्दे