JavaScript 의 JSON 중국어 버 전 번역
4747 단어 JavaScriptJSON
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 미 만 이 가능 하 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
기초 정리 - 1문자 (String) 숫자 (Number) 불린 (Boolean) null undefined 심볼 (Symbol) 큰정수 (BigInt) 따옴표로 묶어 있어야 함 Not-A-Number - 숫자 데이터 / 숫자로 표...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.