2013-07-30 4 views
6

के साथ स्थानीय JSON फ़ाइल पार्स मैं अपने कंप्यूटर पर स्थित एक JSON फ़ाइल को पार्स करने का प्रयास कर रहा हूं। मैं इसे पार्स करना चाहता हूं।jQuery और जावास्क्रिप्ट

{ 
    "sites": { 
    "site": [ 
     { 
     "id": "01", 
     "name": "Sito 1", 
     "src": "localhost/root/coupon/sito1", 
     "expiryDate": "29 Ago 2013" 
     }, 
     { 
     "id": "02", 
     "name": "Sito 2", 
     "src": "localhost/root/coupon/sito2", 
     "expiryDate": "30 Ago 2013" 
     }, 
     { 
     "id": "Sito 3", 
     "name": "Sito 3", 
     "src": "localhost/root/coupon/sito2", 
     "expiryDate": "31 Ago 2013" 
     } 
    ] 
    } 
} 

मेरी एचटीएमएल में मैं jQuery पुस्तकालय आयात और मैं एक समारोह है कि, जब पेज लोड लोड होगा बनाया: JSON फ़ाइल इस संरचना है। कोड के नीचे है:

<!DOCTYPE html> 
<html lang="it"> 
    <head> 
     <meta charset="utf-8" /> 
     <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;"/> 
     <title>Lista coupon</title> 
     <script type="text/javascript" src="jquery-1.9.1.min.js"></script> 
     <script type="text/javascript" charset="utf-8"> 
      function loadJson() { 
       window.alert("Carico il contenuto del file JSON per popolare la lista"); 
       $(document).ready(function() 
        { 
         $.getJSON('data.json', function(json) { 
          console.log(json); 
         }); 
        }); 
       } 
     </script> 
    </head> 
    <body onload="loadJson();"> 
     <div id="header"> 
      <h1>Lista coupon salvati</h1> 
     </div> 
     <div id="content"> 
      <p>Di seguito trovi tutte le promozioni salvate</p> 

     </div> 
     <div id="footer"> 

     </div> 
    </body> 
</html> 

अब मैं फ़ायरबग कंसोल कि इसे सही ढंग से JSON फ़ाइल पढ़ सकते हैं पर देखा है, लेकिन मैं कैसे इस JSON पार्स करने के लिए पता नहीं है। मैंने Google में खोज की, लेकिन मुझे बहुत उदाहरण मिला जो दूरस्थ JSON का उपयोग करता है। क्या आप स्थानीय JSON फ़ाइल को पार्स करने के तरीके को समझने में मेरी सहायता कर सकते हैं? धन्यवाद

पीएस: साइट पर पोस्ट करें जो मैं यहां पोस्ट करता हूं यह मोबाइल ब्राउज़र के लिए बनाया गया है।

+0

getJson ** सर्वर ** को आपके कंप्यूटर पर HTTP कॉल नहीं करता है। प्रलेखन पढ़ें http://api.jquery.com/jQuery.getJSON/ – Liam

+0

'obj'-variable' पर एक console.log करें और जांचें कि यह कैसे बनाया गया है। आपको समझ जाएगा कि आपको इसका उपयोग कैसे करना चाहिए। – ninja

उत्तर

8

getJSON आपके लिए इसे पार्स करेगा।

बस var obj = $.parseJSON(json); लाइन हटाएं (क्योंकि यह ऑब्जेक्ट को स्ट्रिंग करेगा और इसे JSON (जो यह नहीं होगा) के रूप में पार्स करने का प्रयास करेगा)।

+0

ठीक है मैंने इसे हटा दिया, लेकिन अब मैं ऑब्जेक्ट तक कैसे पहुंच सकता हूं? अब मैं प्रविष्टि "नाम" और "src" – lucgian84

+0

'json' ऑब्जेक्ट "कैप्चर करना चाहता हूं। इसे किसी अन्य की तरह एक्सेस करें। ('json.sites.etc') – Quentin

+0

तो मुझे नाम और लिंक प्राप्त करने के लिए बस json.name और json.src करना है? मैंने इसे एक चेतावनी के साथ करने की कोशिश की, लेकिन यह मुझे अपरिभाषित करता है ... – lucgian84

2

मुझे नहीं लगता कि आपको जेसन को पार्स करने की आवश्यकता है। जब आप $ .getJSON() का उपयोग कर रहे हैं तो यह स्वचालित रूप से जेसन को पार्स करेगा।

+2

json.sites.site [0] .src, json.sites.site [1] .src – Sharad

+0

का भी धन्यवाद !! – lucgian84

+0

अब मैं सरणी में नाम और src का मूल्य कैसे डाल सकता हूं? $ .each का उपयोग करने का अधिकार है? – lucgian84

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