JavaScript_Basics의 객체 및 JSON

WBOY
풀어 주다: 2016-05-16 15:51:47
원래의
1133명이 탐색했습니다.

소개

JSON은 JavaScript Object Nation입니다. 서버와 JavaScript 간의 상호 작용에 매우 적합한 경량 데이터 교환 형식입니다.
JSON은 다양한 언어 간에 구조화된 정보를 전송하는 방법인 XML 및 YAML과 같은 데이터 교환 형식입니다. 반면에 JavaScript 객체는 PHP의 배열, C의 클래스 및 구조와 마찬가지로 JavaScript 언어의 데이터 유형입니다.

JSON 및 자바스크립트 개체 정의

JavaScript 프로그램에서 객체를 정의할 때 객체의 속성 이름을 큰따옴표로 묶을 수도 있고 안 묶을 수도 있습니다. 속성 이름에 특수 문자(예:!, if 등)가 포함된 경우 큰따옴표를 추가해야 합니다.
JSON을 정의할 때 속성 이름을 큰따옴표로 묶어야 합니다.

코드 예:

1. 자바스크립트 객체 정의

코드 복사 코드는 다음과 같습니다.

var obj={name:"tudouya","sex":"man"} #큰따옴표를 사용하거나 사용하지 않고 두 가지 속성을 추가할 수 있습니다.
var obj={"!":"hello world"}; #속성 이름에 특수 문자가 포함된 경우 큰따옴표를 추가해야 합니다.

2. JSON 문자열 정의
코드 복사 코드는 다음과 같습니다.

var jsonString={"name":"tudouya"}; #JSON 정의 시 큰따옴표를 추가해야 합니다

JSON으로 변환된 javascript 개체

1. 자바스크립트 객체를 JSON으로 변환

javascript에 내장된 함수를 사용하여 javascript 객체를 JSON으로 변환할 수 있습니다. 이 함수는 JSON.stringify()입니다.
코드 예:

코드 복사 코드는 다음과 같습니다.

var obj={이름:"tudouya",sex:"man"};
var jsonObj=JSON.stringify(obj);
console.log(jsonObj);
##출력 결과는 다음과 같습니다: {"name":"tudouya","sex":"man"}

JavaScript 객체를 JSON으로 변환할 때 주의해야 할 사항이 하나 있습니다:
객체에 값이 함수 및 날짜인 속성이 포함된 경우 JSON은 값이 함수인 속성을 무시하고 값이 날짜인 속성을 문자열로 변환합니다.
코드 예:
코드 복사 코드는 다음과 같습니다.

var obj={
이름:"tudouya",
생일:새 날짜(),
작업:함수(){
document.write("걷기");
}
};
var jsonObj=JSON.stringify(obj);
console.log(jsonObj);
##출력 결과는 다음과 같습니다: {"name":"tudouya","birthday":"2014-08-12T10:05:00.497Z"}

Javascript에서 JSON 구문 분석

이전 버전의 JS에서는 일반적으로 모든 사람이 eval() 함수를 사용하여 JSON을 구문 분석하지만 ECMAScript5는 JSON을 구문 분석하기 위한 새로운 함수 JSON.parse()를 제공합니다.

이 기능의 사용법은 비교적 간단하므로 직접 사용해 볼 수 있습니다. 이 함수를 JSON 문자열에 적용하면 JSON이 JavaScript 객체로 변환됩니다. 즉, typeof 연산자를 사용하여 함수 유형을 볼 때 반환되는 값은 Object입니다.
또 한 가지 주의할 점은 이 기능은 ECMAScript 5 이후에만 지원된다는 점이다. 이전 버전의 브라우저라면 이 기능을 지원하지 않을 수 있다. 해결책은 이 기능을 구현하는 js 파일, 즉 json2.js를 로드하는 것입니다. JQuery 프레임워크인 jQuery.parseJSON()을 사용하는 경우 이 함수는 JSON.parse() 메서드를 호출합니다.
eval() 메소드를 사용하여 JSON을 파싱하는 것에 대해서는 심도 있는 연구를 거쳐 기록하겠습니다.

매우 중요한 개념

프런트엔드 초보로서 "JSON 개체"라는 말을 자주 듣습니다. 그러나 실제로 "JSON 개체"라는 개념은 없습니다. JSON의 실제 형식은 문자열입니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!