찾다
  • 로그인
  • 가입
비밀번호 재설정 성공

당신이 관심을 갖고 있는 프로젝트를 팔로우하고 그들에 관한 최신 뉴스를 맛보세요

PHP JSON

json이란 무엇인가요?

JSON(JavaScript Object Notation)은 주로 데이터 전송에 사용되는 경량 데이터 교환 형식입니다.
JSON은 JavaScript 개체에 표시된 데이터 세트를 문자열로 변환할 수 있으며, 문자열은 함수 간에 쉽게 전달되거나 웹 클라이언트에서 비동기 애플리케이션 프로그램의 서버로 전달될 수 있습니다. 이 문자열은 조금 이상해 보이지만 JavaScript는 이를 쉽게 해석할 수 있으며 JSON은 "이름/값 쌍"보다 더 복잡한 구조를 나타낼 수 있습니다. 예를 들어, 단순한 키와 값 목록이 아닌 배열과 복잡한 객체를 표현할 수 있습니다.

이 장은 이해를 돕기 위한 것이므로 집중해서 볼 필요는 없습니다.

환경설정

php5.2.0 이상에서는 JSON 확장 기능이 내장되어 있습니다.


JSON 함수


QQ截图20161009100513.png

json_encode

PHP json_encode ()는 변수를 JSON으로 인코딩하는 데 사용됩니다. 이 함수는 성공적으로 실행되면 JSON 데이터를 반환하고, 그렇지 않으면 FALSE를 반환합니다.

구문

string json_encode ( $value [, $options = 0 ] )

매개변수

·            값: 인코딩할 값입니다. 이 함수는 UTF-8로 인코딩된 데이터에만 유효합니다.

· 옵션: 다음 상수로 구성된 바이너리 마스크: JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_NUMERIC_CHECK, JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, JSON_FORCE_OBJECT

인스턴스

다음 예에서는 PHP 배열을 JSON 형식 데이터로 변환하는 방법을 보여줍니다.

<?php
   $arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
   echo json_encode($arr);
?>

위 코드의 실행 결과는 다음과 같습니다.

{"a":1,"b":2 ,"c ":3,"d":4,"e":5}

다음 예에서는 PHP 개체를 JSON 형식 데이터로 변환하는 방법을 보여줍니다.

<?php
   class Emp {
       public $name = "";
       public $hobbies  = "";
       public $birthdate = "";
   }
   $e = new Emp();
   $e->name = "sachin";
   $e->hobbies  = "sports";
   $e->birthdate = date('m/d/Y h:i:s a', "8/5/1974 12:20:03 p");
   $e->birthdate = date('m/d/Y h:i:s a', strtotime("8/5/1974 12:20:03"));
 
   echo json_encode($e);
?>

실행 결과 위 코드는 다음과 같습니다.

{"name":"sachin","hobbies":"sports","birthdate":"08/05/1974 12:20:03 pm"}


json_decode

PHP json_decode() 함수는 JSON 형식 문자열을 디코딩하고 이를 PHP 변수로 변환하는 데 사용됩니다.

구문

혼합 json_decode($json [,$assoc = false [, $length = 512 [, $options = 0 ]]])

<数>

매개변수

· JSON_STRING: 디코딩할 JSON 문자열은 UTF-8 코딩 데이터여야 합니다.

· assoc: 이 매개변수가 true이면 다음으로 반환됩니다. return. 배열, FALSE인 경우 객체를 반환합니다.

· 깊이: 재귀 깊이를 지정하는 정수형 매개 변수

· 옵션: 바이너리 마스크, 현재 JSON_BIGINT_AS_STRING만 지원됩니다.

다음 예는 JSON 데이터를 디코딩하는 방법을 보여줍니다.

<?php
   $json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
 
   var_dump(json_decode($json));
   var_dump(json_decode($json, true));
?>

위 코드의 실행 결과는 다음과 같습니다.

object(stdClass)#1 (5) {

["a"] =>

["b"] => int(2)

["c"] => int(3)

["d"] => )

["e"] => int(5)

}

배열(5) {

[ "a" ] => int(1)

["b"] => int(2)

["c"] =>

["d"] => int(4)

["e"] => int(5)

}

PHP의 Json 형식 규칙

- 병렬 데이터는 쉼표(", ")로 구분됩니다.

- 매핑이 완료됩니다. 콜론(":")은

을 나타냅니다. - 병렬 데이터의 컬렉션(배열)은 대괄호("[]")로 표시됩니다.
- 매핑된 컬렉션(객체)은 중괄호("{})로 표시됩니다. ")

다음 문장:

"베이징의 면적은 16,800평방 킬로미터이고, 상주 인구는 1,600만 명입니다. 상하이의 면적은 6,400평방 킬로미터입니다. 영구 인구는 1,800만명입니다."

다음과 같이 json 형식으로 작성됩니다.

[

 {"City":"Beijing","Area":16800," Population":1600},

 {"City" ":"Shanghai","Area":6400,"Population":1800}

]

작동하는 기능 PHP의 json

암호화 json_encode

json_decode 해독

1차원 배열을 json 데이터 형식으로 변환

<?php
$arr_1 = array();
$arr_1['username'] = 'lisi';
$arr_1['age'] = 20;
echo json_encode($arr_1);//{"username":"lisi","age":20}
  ?>

다차원 배열을 json 데이터 형식으로 변환

<?php
$arr_2 = array();
// 三维数组
$arr_2['member']['lisi']['job'] = "worker";
$arr_2['member']['lisi']['age'] = 30;
$arr_2['member']['wangwu']['job'] = "student";
$arr_2['member']['wangwu']['age'] = 10;
 
echo json_encode($arr_2);
//{"member":{"lisi":{"job":"worker","age":30},"wangwu":{"job":"student","age":10}}}
  ?>

객체를 json 데이터 형식으로 변환

객체가 다음과 같은 경우 json 데이터로 변환, 공용 변수만 변환, 전용 변수는 변환 안 함

<?php
class Person{
    public $name = "public name";
    protected $ptName = "protected name";
    private $pName = "private name";
 
    public function sayName(){
        return $this->name;
    }
}
$person1 = new Person();
echo json_encode($person1);//{"name":"public name"}
  ?>

json 데이터 형식을 객체 유형으로 변환

<?php
$jsonStr = '{"key1":"value1","key2":"value2"}';
print_r(json_decode($jsonStr,false));//stdClass Object ( [key1] => value1 [key2] => value2
?>

json 데이터 형식을 배열 유형으로 변환

<?php
$jsonStr = '{"key1":"value1","key2":"value2"}';
print_r(json_decode($jsonStr,true));//Array ( [key1] => value1 [key2] => value2 )
?>
json_decode($jsonStr ,true); 두 번째 매개변수가 true이면 결과가 배열 유형으로 변환됩니다. 기본적으로

객체로 변환됩니다.

새로운 파일
<?php $json = '{"a":1,"b":2,"c":3,"d":4,"e":5}'; var_dump(json_decode($json)); var_dump(json_decode($json, true)); ?>
시사 Clear
  • 코스 추천
  • 코스웨어 다운로드
현재 코스웨어를 다운로드할 수 없습니다. 현재 직원들이 정리하고 있습니다. 앞으로도 본 강좌에 많은 관심 부탁드립니다~