ActionScript에서 JSON 데이터를 읽어서 파싱하는 예제입니다.
Cake's Good의 내용을 약간 수정하고, adobe core library를 최신 버전으로 업데이트 한 예제입니다.
1. adobe core library를 다운로드 받습니다. 다운로드 받은 파일을 압축을 풀고 src 폴더 안의 com 폴더를 .fla파일이 있는 폴더에 복사해 줍니다.
2. PHP나 개발자가 사용하는 언어로 JSON 파일을 만들어 줍니다.
3. 플래쉬 파일에서 첫번째 프레임에 아래 코드를 넣어 줍니다.
실행 결과
원본 : http://www.cakesgood.com/2009/04/flash-cs3-actionscript-30-json-keep-it_3277.html
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) ;
}
}
/* 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
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
댓글