English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

JSON PHP

JSON의 일반적인 사용은 웹 서버로 데이터를 전송하는 것입니다/웹 서버에서 데이터를 읽고 웹 페이지에서 데이터를 표시합니다.

이 장에서는 클라이언트와 PHP 서버 간에 JSON 데이터를 교환하는 방법을 설명합니다.

PHP JSON 함수

PHP5.2.0 및 이상 버전에서 JSON 확장을 내장했습니다.

PHP는 JSON을 처리하는 다음 내장 함수를 가지고 있습니다:

기능설명
json_encode()반환值的 JSON 표현 형식
json_decode()JSON 문자열을 해석합니다
json_last_error()최근 발생한 오류를 반환합니다

json_encode() 함수

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_decode() 함수

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"].".";
?>