JSON 사용법
JSON 텍스트를 JavaScript 개체로 변환
JSON의 가장 일반적인 용도 중 하나는 웹 서버에서 JSON 데이터를 파일 또는 HttpRequest로 읽고 JSON 데이터를 JavaScript 개체로 변환한 다음 사용하는 것입니다. 웹 페이지의 데이터입니다.
더 간단하게 설명하기 위해 데모용 입력으로 (파일 대신) 문자열을 사용합니다.
JSON 인스턴스 - 문자열의 개체
JSON 구문을 포함하는 JavaScript 문자열 만들기:
'{ "firstName":"John" , "lastName ":" Doe" },' +
'{ "firstName":"Anna" , "lastName":"Smith" },' +
'{ "firstName":"Peter" , "lastName":"Jones" } ]}' ;
JSON 구문은 JavaScript 구문의 하위 집합이므로 JavaScript 함수 eval()을 사용하여 JSON 텍스트를 JavaScript 개체로 변환할 수 있습니다.
eval() 함수는 JavaScript 컴파일러를 사용하여 JSON 텍스트를 구문 분석한 다음 JavaScript 개체를 생성합니다. 구문 오류를 방지하려면 텍스트를 대괄호로 묶어야 합니다.
웹 페이지에서 JavaScript 개체 사용:
예
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <h2>从 JSON 字符串中创建对象</h2> <p> 名: <span id="fname"></span><br> 姓: <span id="lname"></span><br> </p> <script> var txt = '{"employees":[' + '{"firstName":"John","lastName":"Doe" },' + '{"firstName":"Anna","lastName":"Smith" },' + '{"firstName":"Peter","lastName":"Jones" }]}'; var obj = eval ("(" + txt + ")"); document.getElementById("fname").innerHTML=obj.employees[1].firstName document.getElementById("lname").innerHTML=obj.employees[1].lastName </script> </body> </html>
예제 실행»
온라인 예제를 보려면 "예제 실행" 버튼을 클릭하세요
JSON Parser
eval() 함수는 모든 JavaScript 코드를 컴파일하고 실행할 수 있습니다. 이는 잠재적인 보안 문제를 숨깁니다.
JSON 파서를 사용하여 JSON을 JavaScript 개체로 변환하는 것이 더 안전합니다. JSON 파서는 JSON 텍스트만 이해하고 스크립트를 컴파일하지 않습니다.
브라우저에서는 기본 JSON 지원과 더 빠른 JSON 파서를 제공합니다.
최신 브라우저와 최신 ECMAScript(JavaScript) 표준에는 JSON에 대한 기본 지원이 포함되어 있습니다.
웹 브라우저 지원 | 웹 소프트웨어 지원 |
---|---|
|
|
Instance
<!DOCTYPE html> <html> <body> <h2>Create Object from JSON String</h2> <p> First Name: <span id="fname"></span><br> Last Name: <span id="lname"></span><br> </p> <script> var txt = '{"employees":[' + '{"firstName":"John","lastName":"Doe" },' + '{"firstName":"Anna","lastName":"Smith" },' + '{"firstName":"Peter","lastName":"Jones" }]}'; obj = JSON.parse(txt); document.getElementById("fname").innerHTML=obj.employees[1].firstName document.getElementById("lname").innerHTML=obj.employees[1].lastName </script> </body> </html>
인스턴스 실행»
온라인 인스턴스를 보려면 "인스턴스 실행" 버튼을 클릭하세요.
이전 브라우저의 경우 JavaScript 라이브러리를 사용하세요: https://github.com/douglascrockford/JSON- js
JSON 형식은 원래 Douglas Crockford