2012-04-11 49 views
6

Điều tôi muốn làm là thực hiện yêu cầu nhận URL này: http://api.beatport.com/catalog/3/most-popular, sẽ trả về một số JSON và sau đó phân tích một số thông tin nhất định từ nó.Nhận và phân tích cú pháp JSON trong Actionscript

Tôi làm cách nào để thực hiện việc này trong Actionscript 3? Tôi quan tâm nhiều hơn đến việc tìm ra cách để lấy dữ liệu để cấp dữ liệu cho một trình phân tích cú pháp JSON hơn là phân tích cú pháp JSON, vì dường như có rất nhiều câu hỏi về phân tích cú pháp JSON. Lý do tôi muốn làm điều này trong AS3 là tôi đã thiết lập hình ảnh 3D flash và tôi muốn lấy dữ liệu này, phân tích các bit có liên quan và sau đó hiển thị các bit được phân tích cú pháp trong hiển thị.

Tôi đang mở cho bất kỳ cách nào khác để làm điều này có thể dễ dàng được tích hợp với Flash bên cạnh AS3 nếu có cách dễ dàng hơn để thực hiện nó bằng một ngôn ngữ khác.

Trả lời

12
  1. Thêm corelib.swc vào đường dẫn thư viện của bạn.

  2. nhập thư viện JSON: import com.adobe.serialization.json.JSON;

  3. Gọi dịch vụ của bạn với mã một cái gì đó như thế này:

    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. Phân tích các kết quả với JSON.decode(results).

as3corelib được duy trì ở đây: https://github.com/mikechambers/as3corelib#readme.

+0

Thực ra câu hỏi chính của tôi là như thế nào một cách chính xác để tôi có được JSON để tôi có thể phân tích nó. – Saliceran

+1

BướC# 3 được cập nhật để hiển thị cách nhận JSON từ một dịch vụ. –

+0

Khi JSON nằm trong mảng đó, tôi làm cách nào để tìm ra văn bản tôi cần. Tôi chỉ cần một phần dữ liệu cụ thể từ nó. Nó chứa thông tin về 10 bài hát khác nhau và cho mỗi bài hát tôi muốn tên của bài hát, nghệ sĩ, thể loại và hãng thu âm. Tôi chưa bao giờ làm việc với JSON hoặc Actionscript. – Saliceran

3

Tôi tin rằng as3corelib có JSON serializerdeserializer

Bạn có thể sử dụng những người thay vì tái phát minh ra bánh xe và viết phân tích Logic afresh.

10

Hoặc nếu bạn đang sử dụng Flash Player 11 hoặc AIR 3.0 hoặc cao hơn, bạn có thể sử dụng đối tượng JSON được tích hợp sẵn để giải mã JSON của bạn. Đó là một đối tượng cấp cao nhất để thậm chí bạn không cần phải nhập khẩu bất cứ thứ gì, chỉ cần làm:

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

Xem: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/JSON.html

Các vấn đề liên quan