JSON 개념 적 지식

2962 단어
JSON: JavaScript 대상 표현법 (JavaScript Object Notation)
JSON 은 XML 과 유사 한 텍스트 정 보 를 저장 하고 교환 하 는 문법 이다.키 값 이 맞 는 방식 으로 조직 되 어 읽 기와 쓰기 가 쉬 울 뿐만 아니 라 기계 적 으로 해석 하고 생 성 하기 도 쉽다.
JSON 은 언어 에 독립 된 것 이다. 즉, 어떤 언어 든 제 이 슨 을 해석 할 수 있 고 그 규칙 에 따라 만 하면 된다 는 것 이다.
JSON & XML 비교:
json 의 길 이 는 xml 형식 에 비해 훨씬 작 습 니 다. 페이지 를 여 는 대역 폭 을 줄 이 고 json 이 읽 고 쓰 는 속도 가 빠 릅 니 다. json 은 자바 스 크 립 트 내 에서 만 든 방법 으로 직접 해석 하여 자바 스 크 립 트 대상 으로 변환 할 수 있어 서 매우 편리 합 니 다.
JSON 의 문법 규칙:
JSON 데이터 의 쓰기 형식: 이름 / 값 이 맞습니다.
이름 / 값 은 그룹의 이름 을 앞 에 쓰 고 (작은 따옴표 에) 값 은 뒤에 쓰 고 (같은 작은 따옴표 가 필요 합 니 다) 중간 에 콜론 으로 구분 합 니 다.양 강
JSON 의 값 은 다음 과 같은 유형 일 수 있 습 니 다.
숫자 (정수 또는 부동 소수점), 예 를 들 어 123, 1.23 문자열 (작은 따옴표 에서) 논리 값 (true 또는 false) 배열 (괄호 에서) 대상 (괄호 에서) null
다음은 예 를 들 어 보 겠 습 니 다.
{
"staff":[
    {"name":"  ","age":70},
    {"name":"  ","age":35},
    {"name":"  ","age":21}
]
}

JSON 해석 방법:
eval 과 JSON. parse.
코드 에서 eval 을 사용 하 는 것 은 매우 위험 합 니 다!특히 제3자 의 JSON 데이터 (악성 코드 가 포 함 될 수 있 음) 를 실행 할 때 가능 한 한 JSON. parse () 방법 으로 문자열 자 체 를 해석 하면 JSON 의 문법 오 류 를 포착 할 수 있다.
브 라 우 저 도구 - console 에서 시도:
테스트 eval:
var jsondata= '{"staff":[{"name":"  ","age":70},{"name":"  ","age":35},{"name":"  ","age":21}]}';
var jsonobj = eval('('+jsondata+')');
alert("  :"+ jsonobj.staff[0].name +";   :"+ jsonobj.staff[0].age);

json. parse 테스트:
var jsondata= '{"staff":[{"name":"  ","age":70},{"name":"  ","age":35},{"name":"  ","age":21}]}';
var jsonobj = JSON.parse(jsondata);
alert("  :"+ jsonobj.staff[0].name +";   :"+ jsonobj.staff[0].age);

eval 을 분석 하 는 동시에 문자열 을 실행 하 는 방법 을 테스트 합 니 다.
다음 코드 에 서 는 먼저 숫자 '123' 을 팝 업 한 다음 에 분 석 된 이름과 나 이 를 팝 업 합 니 다.
var jsondata= '{"staff":[{"name":"  ","age":alert(123)},{"name":"  ","age":35},{"name":"  ","age":21}]}';
var jsonobj = eval('('+jsondata+')');
alert("  :"+ jsonobj.staff[0].name +";   :"+ jsonobj.staff[0].age);

JSON. parse 를 테스트 할 때 다른 방법 이 있 을 때 문법 오 류 를 직접 표시 하고 후속 방법 을 계속 실행 하지 않 습 니 다.
var jsondata= '{"staff":[{"name":"  ","age":alert(123)},{"name":"  ","age":35},{"name":"  ","age":21}]}';
var jsonobj = JSON.parse(jsondata);
alert("  :"+ jsonobj.staff[0].name +";   :"+ jsonobj.staff[0].age);

JSON 온라인 검사 도구:http://jsonlint.com
앞 에 나타 난 staff 문자열 을 상자 에 붙 여 넣 고 Validate 단 추 를 누 르 면 검사 할 수 있 습 니 다.

좋은 웹페이지 즐겨찾기