티스토리 툴바


달력

05

« 2012/05 »

  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  

ActionScript에서 JSON 데이터를 읽어서 파싱하는 예제입니다.
Cake's Good의 내용을 약간 수정하고, adobe core library를 최신 버전으로 업데이트 한 예제입니다.

1. adobe core library를 다운로드 받습니다. 다운로드 받은 파일을 압축을 풀고 src 폴더 안의 com 폴더를 .fla파일이 있는 폴더에 복사해 줍니다.

2. PHP나 개발자가 사용하는 언어로 JSON 파일을 만들어 줍니다.
[ {"name":"Jaylo", "number":"3243251", "age":"23"}, {"name":"Jenny", "number":"8675309", "age":"35"}]

3. 플래쉬 파일에서 첫번째 프레임에 아래 코드를 넣어 줍니다.
import com.adobe.serialization.json.JSON

/* Objects 생성 */
var loader:URLLoader = new URLLoader() ;
var request:URLRequest = new URLRequest() ;

/* numbers.txt에서 데이터 읽어 오기. */
request.url = "numbers.php" ;
loader.load(request) ;

/* 파일 읽기가 완료 되고 나서 decodeJSON을 실행하기 위해서 listener 등록 */
loader.addEventListener(Event.COMPLETE, decodeJSON) ;

/* JSON데이터 디코딩 */
function decodeJSON(event:Event):void {

    var loader:URLLoader = URLLoader(event.target) ;
    var People:Array = JSON.decode(loader.data) ;
    
    /* JSON data를 출력해 보기 */
    trace(People[0].name) ; //Jaylo
    trace(People[0].number) ; //3243251
    trace(People[0].age) ; // 23
    trace(People[1].name) ; //Jenny
    trace(People[1].number) ; //8675309
    trace(People[1].age) ; // 35
    trace("-------------------");
    
    /* for loop로 출력해 보기 */
    for (var key:Object in People) {
        trace(People[key].name) ;
        trace(People[key].number) ;
        trace(People[key].age) ;      
    }
}

실행 결과
Jaylo
3243251
23
Jenny
8675309
35
-------------------
Jaylo
3243251
23
Jenny
8675309
35

예제 다운로드


원본 : http://www.cakesgood.com/2009/04/flash-cs3-actionscript-30-json-keep-it_3277.html
저작자 표시
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 신규하