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
댓글