JSON 문맹 퇴치 댓 글 JSON.as 클래스 튜 토리 얼
{ "firstName": "Brett" }
이라는 예 시 는 매우 기본 적 이 고 실제 적 으로 같은 효 과 를 가 진 일반 텍스트 이름/값 보다 더 많은 공간 을 차지 합 니 다.
firstName=Brett
그러나 여러 개의 이름/값 을 한데 묶 으 면 JSON 은 그 가 치 를 나 타 냅 니 다.우선,여러 개의 이름/값 쌍 을 포함 하 는 기록 을 만 들 수 있 습 니 다.예 를 들 어
{ "firstName": "Brett", "lastName":"McLaughlin", "email": "[email protected]" }
은 문법 적 으로 볼 때 이름/값 쌍 에 비해 큰 장점 이 없 지만 이런 상황 에서 JSON 은 사용 하기 쉽 고 가 독성 이 좋 습 니 다.예 를 들 어 상기 세 가지 값 이 모두 같은 기록 의 일부분 임 을 명확 하 게 나타 낸다.괄호 가 이 값 들 로 하여 금 어떤 관 계 를 가지 게 했다.값 의 배열 이 한 조 의 값 을 표시 해 야 할 때 JSON 은 가 독성 을 높 일 뿐만 아니 라 복잡성 도 줄 일 수 있다.예 를 들 어 이름 목록 을 표시 하고 싶다 고 가정 합 니 다.XML 에 서 는 시작 표시 와 끝 표시 가 많이 필요 합 니 다.전형 적 인 이름/값 쌍 을 사용 하려 면(이 시리즈 의 앞 글 에서 보 았 던 이름/값 쌍)전용 데이터 형식 을 만 들 거나 키 이름 을 person 1-firstName 과 같은 형식 으로 수정 해 야 합 니 다.JSON 을 사용 하면 괄호 가 있 는 여러 개의 기록 을 묶 으 면 됩 니 다.
{ "people": [
{ "firstName": "Brett", "lastName":"McLaughlin", "email": "[email protected]" },
{ "firstName": "Jason", "lastName":"Hunter", "email": "[email protected]" },
{ "firstName": "Elliotte", "lastName":"Harold", "email": "[email protected]" }
]}
은 이해 하기 어렵 지 않 습 니 다.이 예제 에 서 는 people 이라는 변수 만 있 습 니 다.값 은 세 개의 항목 을 포함 하 는 배열 입 니 다.각 항목 은 한 사람의 기록 입 니 다.그 중에서 이름,성,이메일 주 소 를 포함 합 니 다.위의 예제 에 서 는 기록 을 괄호 로 조합 하 는 방법 을 보 여 줍 니 다.물론 같은 문법 으로 여러 개의 값(각 값 은 여러 개의 기록 을 포함)을 표시 할 수 있 습 니 다.{"programmers":[
{ "firstName": "Brett", "lastName":"McLaughlin", "email": "[email protected]" },
{ "firstName": "Jason", "lastName":"Hunter", "email": "[email protected]" },
{ "firstName": "Elliotte", "lastName":"Harold", "email": "[email protected]" }
],
"authors": [
{ "firstName": "Isaac", "lastName": "Asimov", "genre": "science fiction" },
{ "firstName": "Tad", "lastName": "Williams", "genre": "fantasy" },
{ "firstName": "Frank", "lastName": "Peretti", "genre": "christian fiction" }
],
"musicians": [
{ "firstName": "Eric", "lastName": "Clapton", "instrument": "guitar" },
{ "firstName": "Sergei", "lastName": "Rachmaninoff", "instrument": "piano" }
]
}
여기 서 가장 주의해 야 할 것 은 여러 개의 값 을 표시 할 수 있 고 각 값 은 여러 개의 값 을 포함 합 니 다.그러나 주 항목(programmers,authors,musicians)에 따라 실제 이름/값 이 다 를 수 있 음 을 주의해 야 한다.JSON 은 완전 동적 으로 JSON 구조의 중간 에 데 이 터 를 표시 하 는 방식 을 바 꿀 수 있다.JSON 형식의 데 이 터 를 처리 할 때 지 켜 야 할 미리 정 의 된 제약 조건 이 없습니다.따라서 같은 데이터 구조 에서 데 이 터 를 표시 하 는 방식 을 바 꿀 수 있 고 심지어 다른 방식 으로 같은 사물 을 표시 할 수 있다.ps:이상 의 예 는 모두http://www.ibm.com/developerworks/cn/web/wa-ajaxintro10/Ajax 를 익히 고 게 을 러 서 남 이 있 는 것 을 보 는 김 에 땡땡 이 를 썼 습 니 다.저 는 다시 돌 아 왔 습 니 다.지난주 에 이 출근 에 바 빠 서 쓰 는 방법 을 생각 하지 못 했 습 니 다.다음은 adobe 의 json 류 의 용법 을 소개 하 겠 습 니 다.지난번 에 발 표 된 제 이 슨 류 에 문제 가 있 습 니 다(http://bbs.actionscript3.cn/thread-1625-1-1.html)저도 다른 사람 에 게 서 다운 받 았 기 때문에 반제품 인 줄 누가 알 았 겠 습 니까?여러분 화내 지 마 세 요.관리자 가 삭제 하 라 고 건의 합 니 다!이번 에는 adobe 의 공식 클래스 입 니 다.가방 을 수정 해서 이번 에는 사용 할 수 있 습 니 다.다음은 튜 토리 얼 입 니 다.비교적 간단 합 니 다.1.서버 에서 온 제 이 슨 이 서버 의 제 이 슨 을 어떻게 얻 었 는 지 말 하지 않 겠 습 니 다.(바로 통신 입 니 다)그러면 얻 은 것 은 문자열 일 것 입 니 다.변수 server JSON 에 저장 하고 사용 방식 은 다음 과 같 습 니 다.
import json.*;
var json:Object = new Object();
json = JSON.decode(serverJSON);
제 이 슨 이 대상 입 니 다.간단 하 죠?예 를 들 어 위의 JSON 코드:
{ "programmers": [
{ "firstName": "Brett", "lastName":"McLaughlin", "email": "[email protected]" },
{ "firstName": "Jason", "lastName":"Hunter", "email": "[email protected]" },
{ "firstName": "Elliotte", "lastName":"Harold", "email": "[email protected]" }
],
"authors": [
{ "firstName": "Isaac", "lastName": "Asimov", "genre": "science fiction" },
{ "firstName": "Tad", "lastName": "Williams", "genre": "fantasy" },
{ "firstName": "Frank", "lastName": "Peretti", "genre": "christian fiction" }
],
"musicians": [
{ "firstName": "Eric", "lastName": "Clapton", "instrument": "guitar" },
{ "firstName": "Sergei", "lastName": "Rachmaninoff", "instrument": "piano" }
]
}
저장 변수:server JSON 코드:
var serverJSON:String = '{ "programmers": [{ "firstName": "Brett", "lastName":"McLaughlin", "email": "[email protected]" },{ "firstName": "Jason", "lastName":"Hunter", "email": "[email protected]" }, { "firstName": "Elliotte", "lastName":"Harold", "email": "[email protected]" }],"authors": [{ "firstName": "Isaac", "lastName": "Asimov", "genre": "science fiction" },{ "firstName": "Tad", "lastName": "Williams", "genre": "fantasy" },{ "firstName": "Frank", "lastName": "Peretti", "genre": "christian fiction" }],"musicians": [{ "firstName": "Eric", "lastName": "Clapton", "instrument": "guitar" },{ "firstName": "Sergei", "lastName": "Rachmaninoff", "instrument": "piano" }]}'
var s:Object = JSON.decode(serverJSON);
//
trace(s.programmers[0].firstName);// :Brett
아니 죠?이렇게 간단 합 니 다.사실은 바 뀌 면 대상 이 되 고 문법 을 통 해 이 값 을 방문 할 수 있 습 니 다.XML 저리 가.2.로 컬 대상 을 JSON 으로 만 들 면 JSON 문자열 을 직접 맞 출 수 있 습 니 다.하지만 우 리 는 대상 을 대상 으로 하 는 세상 입 니 다.그러면 우 리 는 모두 대상 입 니 다.그 때 는 대상 이 직접 사용 할 수 있 습 니 다.예 를 들 어
import json.*;
var myObject:Object = new Object();
myObject.ab = "adfsdf";
myObject.cd = Math.random();
trace(JSON.encode( myObject ));// :{"ab":"adfsdf","cd":0.0599129400216043}
은 서버 에 줄 수 있 습 니 다.결론:두 가지 방법 에 대해 JSON.decode(String),JSON.encode(Object)는 이렇게 간단 한 방식 으로 전 송 량 이 적 고 간단 한 데이터 형식 을 실현 하 는데 우 리 는 왜 아직 사용 하지 않 습 니까?사실 XML 도 자연히 그 자신 만 의 강세 가 있다.구조 가 복잡 한 데이터 구조 가 나 타 났 을 때 이 럴 때 JSON 은 해결 하기 어렵다.XML 이 최 우선 이다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
스마트 폰 버전 Qiita에서 새로운 기사를 만드는 버튼을 모르기 때문에 QiitaAPI를 사용하여 어떻게 하는지 테스트오랜만에 신규 기사를 쓰려고 하면, 「작성 버튼…어디?」가 되어 전혀 발견되지 않았기 때문에, QiitaAPI와 Shortcuts로 어떻게든 한 이야기. 사용할 수 있는 도구는 스마트폰만(PC는 사용하지 않는다) S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.