English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
JSON의 일반적인 사용은 웹 서버로 데이터를 전송하는 것입니다/웹 서버에서 데이터를 읽고 웹 페이지에서 데이터를 표시합니다.
이 장에서는 클라이언트와 PHP 서버 간에 JSON 데이터를 교환하는 방법을 설명합니다.
PHP5.2.0 및 이상 버전에서 JSON 확장을 내장했습니다.
PHP는 JSON을 처리하는 다음 내장 함수를 가지고 있습니다:
기능 | 설명 |
---|---|
json_encode() | 반환值的 JSON 표현 형식 |
json_decode() | JSON 문자열을 해석합니다 |
json_last_error() | 최근 발생한 오류를 반환합니다 |
PHP 함수를 사용하여 PHP 객체를 JSON으로 변환할 수 있습니다 json_encode()。
주어진 파일은 json_demo1.php 저장:
<?php $myObj = new stdClass(); $myObj->name = "Seagull"; $myObj->age = 22; $myObj->city = "New Delhi"; $myJSON = json_encode($myObj); /* PHP 객체를 JSON 문자열로 변환합니다 */ echo $myJSON; ?>
이 예제는 위의 예제에서 PHP 파일(json_demo1.php를 요청한 후 JSON.parse()를 사용하여 응답을 JavaScript 객체로 변환합니다:
var httpRequest = new XMLHttpRequest(); httpRequest.onreadystatechange = function() { if (this.readyState === 4 && this.status === 200) { var myObj = JSON.parse(this.responseText); // JSON 문자열을 Object로 변환합니다 document.getElementById("output").innerHTML = myObj.name; } }); httpRequest.open("GET", "json_demo1.php", true); httpRequest.send();테스트해보기‹/›
PHP 함수를 사용하여 PHP 배열도 JSON json_encode()로 변환됩니다.
주어진 파일은 json_demo2.php 저장:
<?php $myArr = array("Seagull", "Cynthia", "Tarush"); $myJSON = json_encode($myArr); /* PHP 배열을 JSON 문자열로 변환합니다 */ echo $myJSON; ?>
이 예제는 위의 예제(json_demo2요청 PHP 파일을 요청한 후 JSON.parse()를 사용하여 응답을 JavaScript 배열로 변환합니다:
var httpRequest = new XMLHttpRequest(); httpRequest.onreadystatechange = function() { if (this.readyState === 4 && this.status === 200) { var myArr = JSON.parse(this.responseText); // JSON 문자열을 배열로 변환 document.getElementById("output").innerHTML = myArr[0]; } }); httpRequest.open("GET", "json_demo2.php", true); httpRequest.send();테스트해보기‹/›
JSON 문자열은 function을 사용하여 PHP 객체로 변환할 수 있습니다. json_decode()。
주어진 파일은 json_demo.php에 저장됩니다:
<?php $q = $_REQUEST["q"]; // URL에서 q 파라미터 가져오기 $obj = json_decode($q, false); // JSON 문자열을 PHP 객체로 변환 echo $obj->name." 거주하는 ".$obj->city."."; ?>
다음 예제는 JavaScript 객체를 JSON 문자열로 변환하고, 서버에 전송하는 방법을 보여줍니다. (demo_json.php):
var myObj = {name: "Seagull", age: 22, city: "New Delhi"}; var myJSON = JSON.stringify(myObj); window.location = "json_demo.php?q=" + myJSON;테스트해보기‹/›
JSON 문자열을 PHP 배열로 변환하는 function을 사용할 수 있습니다. json_decode()。
<?php $q = $_REQUEST["q"]; //URL에서 q 파라미터 가져오기 $arr = json_decode($q, true); // JSON 문자열을 PHP 배열로 변환 echo ">$arr["name"]." 거주하는 ".$arr["city"]."."; ?>