JavaScript 의 JSON 중국어 버 전 번역

4747 단어 JavaScriptJSON
보시 면 아래 의 예var json 을 먼저 보 실 수 있 습 니 다.jb 51={"show info":[{"title":"우리","url":"www.jb51.net","author":"dxy"},{"title":"서버","url":"s.jb51.net","author":"dxy"},{"title":"소프트웨어 다운로드","url":"www.jb51.net/softs","author":"dxy"}};alert("우리 사이트 이름:"+jsonjb51.showinfo[0].title); alert("우리 사이트 의 사이트 주소:"+jsonjb51.showinfo[0].url); [Ctrl+A 전체 선택:외부 Js 를 도입 하려 면 페이지 를 새로 고침 해 야 실행 할 수 있 습 니 다.]JavaScript 라 는 프로 그래 밍 언어 는 Netscape Navigator 에 페이지 스 크 립 트 언어 를 제공 하 는 것 이 가장 중요 합 니 다.그것 은 여전히 자바 의 키 집합 으로 보편적으로 여 겨 지지 만 사실은 그렇지 않다.이것 은 문법 이 c 언어 와 유사 하고 대상 을 대상 으로 하 는 Scheme-like 언어 를 지원 합 니 다.자 바스 크 립 트 는 ECMAScript 언어 규범 제3 판 을 사용 하여 표준화 되 었 다.JSON 은 JavaScript 대상 문법 을 위 한 키 집합 입 니 다.JSON 은 JavaScript 의 키 집합 이기 때문에 이 언어 에 뚜렷하게 활용 할 수 있 습 니 다.
 
var myJSONObject = {"bindings": [
{"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"},
{"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"},
{"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"}
]
};
위의 예 시 는 단독 구성원'bindings'를 포함 하 는 대상 을 만 들 었 습 니 다.이 구성원 은 세 개의 대상("ircEvent","method","regex")을 포함 하 는 배열 구성원 을 통 해 검색 할 수 있 습 니 다.
 
myJSONObject.bindings[0].method // "newURI"
JSON 텍스트 를 대상 으로 변환 하기 위해 eval()함 수 를 사용 할 수 있다.eval()함수 가 자 바스 크 립 트 편집 기 를 호출 합 니 다.JSON 은 JavaScript 의 부분 집합 이기 때문에 컴 파 일 러 는 텍스트 를 정확하게 해석 하고 대상 구 조 를 생 성 합 니 다.텍스트 는 자바 스 크 립 트 의 문법 적 오류 가 발생 하지 않도록 괄호 안에 묶 어야 합 니 다.
 
var myObject = eval('(' + myJSONtext + ')');
eval 함수 가 매우 빠르다.자 바스 크 립 트 프로그램 을 컴 파일 하여 실행 할 수 있 기 때문에 보안 문제 가 발생 했 습 니 다.신뢰 할 수 있 고 완벽 한 소스 코드 를 사용 할 때 만 eval 함 수 를 사용 할 수 있 습 니 다.이렇게 하면 JSON 해상도 기 를 더욱 안전하게 사용 할 수 있다.XML HttpRequest 의 웹 애플 리 케 이 션 을 사용 하면 페이지 간 통신 은 원본 만 허용 되 므 로 신뢰 할 수 있 습 니 다.하지만 완벽 한 것 은 아니다.서버 에 엄격 한 JSON 인 코딩 이 없 거나 엄격 한 입력 검증 이 없 으 면 위험 스 크 립 트 를 포함 한 잘못된 JSON 텍스트 를 전송 할 수 있 습 니 다.eval 함수 가 악성 스 크 립 트 를 실행 합 니 다.JSON 해상도 기 를 사용 하면 이러한 사건 을 방지 할 수 있 습 니 다.JSON 해상도 기 는 JSON 텍스트 만 식별 할 수 있 고 모든 스 크 립 트 를 거부 합 니 다.로 컬 JSON 이 지원 하 는 브 라 우 저 를 제공 하 는 JSON 해상도 기 는 eval 함수 보다 훨씬 빠 를 것 입 니 다.미래의 ECMAScript 표준 은 로 컬 JSON 을 지원 할 것 으로 예상 합 니 다.
 
var myObject = JSON.parse(myJSONtext, reviver);
교체 함수(revover function)는 최종 결과 의 각 단계 의 키(key)와 값(value)을 선택 할 수 있 는 매개 변수 로 호출 합 니 다.모든 값 은 함수 의 값 으로 대 체 됩 니 다.이것 은 일반적인 클래스 를 가짜 클래스 로 바 꾸 거나 날짜 문자열 을 날짜 대상 으로 바 꿀 수 있 습 니 다.
 
myData = JSON.parse(text, function (key, value) {
var type;
if (value && typeof value === 'object') {
type = value.type;
if (typeof type === 'string' && typeof window[type] === 'function') {
return new (window[type])(value);
}
}
return value;
});
JSON stringifier 가 역방향 작업 을 하면 JavaScript 데이터 구 조 를 JSON 텍스트 로 변환 할 수 있다.JSON 은 순환 데이터 구 조 를 지원 하지 않 기 때문에 JSON stringifier 에 순환 구 조 를 제공 하지 않도록 조심해 야 합 니 다.
 
var myJSONText = JSON.stringify(myObject, replacer);
stringify 함수 가 toJSON 방법 이 있 는 대상 을 발견 하면 이 방법 을 실행 하고 발생 하 는 값 을 되 돌려 줍 니 다.이런 상 대 는 자신의 JSON 표현 을 결정 할 수 있다.stringifier 방법 은 선택 할 수 있 는 문자열 배열 을 가 져 올 수 있 습 니 다.이 문자열 들 은 JSON 텍스트 에 포 함 된 속성 을 선택 하 는 데 사 용 됩 니 다.stringifier 방법 은 대체(replace)함 수 를 선택 할 수 있 습 니 다.구조 에 있 는 모든 값 의 toJSON 방법(있 으 면)뒤에서 실 행 됩 니 다.모든 키 와 값 을 매개 변수 로 전달 합 니 다.물론 대상 은 이 키 를 포함해 야 합 니 다.반환 값 은 문자열 화 됩 니 다.배열 이나 대체 함 수 를 제공 하지 않 으 면 통합 속성 을 무시 하 는 선택 가능 한 대체 함수 가 제 공 됩 니 다.계승 되 는 모든 속성 을 원한 다 면 간단 한 교체 함 수 를 제공 할 수 있 습 니 다.
 
var myJSONText = JSON.stringify(myObject, function (key, value) {
return value;
});
JSON 에서 표현 되 지 않 은 값(예 를 들 어 함수 와 undefined)은 제 외 됩 니 다.확인 할 수 없 는 수량 이 null 로 대 체 됩 니 다.다른 값 을 대체 하기 위해 서 는 아래 와 같이 교체(replace)함수
 
function replacer(key, value) {
if (typeof value === 'number' && !isFinite(value)) {
return String(value);
}
return value;
}
소스 코드 를 여 는 JSON 해상도 기와 JSON stringifier 를 사용 할 수 있 습 니 다.를 사용 할 수 있 습 니 다.통과minified하면 2.5K 미 만 이 가능 하 다.

좋은 웹페이지 즐겨찾기