2012-04-11 80 views
6

में जेएसओएन प्राप्त करें और पार्स करें जो मैं करना चाहता हूं वह इस यूआरएल को प्राप्त करने का अनुरोध है: http://api.beatport.com/catalog/3/most-popular, जो कुछ JSON वापस कर देना चाहिए और उसके बाद कुछ जानकारी को पार्स करना चाहिए।एक्शनस्क्रिप्ट

मैं एक्शनस्क्रिप्ट 3 में ऐसा करने के बारे में कैसे जाऊं? मैं जेएसओएन को पार्स करने के बजाए जेएसओएन पार्सर को फ़ीड करने के लिए डेटा कैसे प्राप्त करना है, यह जानने के लिए और अधिक चिंतित हूं, क्योंकि JSON को पार्स करने के बारे में बहुत सारे प्रश्न हैं। एएस 3 में ऐसा करने का कारण यह है कि मेरे पास एक 3 डी फ्लैश विज़ुअलाइज़ेशन सेट अप है और मैं यह डेटा प्राप्त करना चाहता हूं, प्रासंगिक बिट्स को पार्स करना चाहता हूं, और फिर विज़ुअलाइज़ेशन में पार्सड बिट्स प्रदर्शित करना चाहता हूं।

मैं ऐसा करने के किसी अन्य तरीके से खुला हूं जिसे आसानी से फ्लैश के साथ एकीकृत किया जा सकता है यदि एएस 3 के अलावा अन्य भाषा में ऐसा करने का एक आसान तरीका है।

उत्तर

12
  1. corelib.swc अपने लाइब्रेरी पथ में जोड़ें।

  2. आयात JSON पुस्तकालय: import com.adobe.serialization.json.JSON;

  3. इस तरह कोड कुछ के साथ आपकी सेवा कॉल करें:

    var request:URLRequest=new URLRequest(); 
    request.url=YOUR_ENDPOINT 
    request.requestHeaders=[new URLRequestHeader("Content-Type", "application/json")]; 
    request.method=URLRequestMethod.GET; 
    var loader:URLLoader=new URLLoader(); 
    loader.addEventListener(Event.COMPLETE, receive); 
    loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, notAllowed); 
    loader.addEventListener(IOErrorEvent.IO_ERROR, notFound); 
    loader.load(request); 
    
    protected function receive(event:Event):void 
    { 
        var myResults:Array=JSON.decode(event.target.data); 
    } 
    
  4. JSON.decode(results) के साथ परिणाम पार्स।

as3corelib यहां बनाए रखा गया है: https://github.com/mikechambers/as3corelib#readme

+0

असल में मेरा मुख्य सवाल यह है कि वास्तव में मैं JSON मिलता है ताकि मैं यह पार्स कर सकते थे। – Saliceran

+1

चरण # 3 यह दिखाने के लिए अपडेट किया गया कि सेवा से JSON कैसे प्राप्त करें। –

+0

एक बार जेएसओएन उस सरणी में है, मैं जिस पाठ की आवश्यकता है उसे प्राप्त करने के बारे में कैसे जा सकता हूं। मुझे केवल इसके डेटा के विशिष्ट टुकड़ों की आवश्यकता है। इसमें 10 अलग-अलग गाने के बारे में जानकारी है और प्रत्येक गीत के लिए मैं गीत, कलाकार, शैली और रिकॉर्ड लेबल का नाम चाहता हूं। मैंने जेएसओएन या एक्शनस्क्रिप्ट के साथ कभी काम नहीं किया है। – Saliceran

3

मेरा मानना ​​है कि as3corelib एक JSON serializer और deserializer

आप फिर से खोज करने पहिया और नए सिरे से तर्क को पार्स लिखने की बजाय उन का उपयोग कर सकते है।

10

वैकल्पिक रूप से यदि आप फ़्लैश प्लेयर 11 या एआईआर 3.0 या उच्चतर का उपयोग कर रहे हैं तो आप अपने JSON को डीकोड करने के लिए जेएसओएन ऑब्जेक्ट में निर्मित का उपयोग कर सकते हैं। यह एक शीर्ष स्तर वस्तु है, ताकि आप भी कुछ भी आयात करने के लिए, बस करो की जरूरत है न:

var decoded : Object = JSON.parse(loadedText); 

देखें: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/JSON.html