이 글은 주로 PHP 언어에서 JSON을 사용하여 json을 배열로 줄이는 방법을 소개합니다. 이제 특정 참조 값이 있으므로 이를 참조할 수 있도록 공유합니다.
php return에 대해 작성했습니다. before json 데이터의 간단한 예. 방금 인터넷에 접속했는데 갑자기 json을 소개하는 기사를 발견했습니다. 꽤 자세하고 참고할만한 가치가 있었습니다. 내용은 다음과 같습니다
버전 5.2부터 PHP는 기본적으로 json_encode(), json_decode() 함수를 제공하는데, 전자는 인코딩에 사용되고 후자는 디코딩에 사용됩니다.
1.json_encode()
<?php $arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5); echo json_encode($arr); ?>
output
{"a":1,"b":2,"c":3,"d":4,"e":5}
객체 변환의 또 다른 예를 살펴보세요:
$obj->body = 'another post'; $obj->id = 21; $obj->approved = true; $obj->favorite_count = 1; $obj->status = NULL; echo json_encode($obj);
out
{ "body":"another post", "id":21, "approved":true, "favorite_count":1, "status":null }
을 입력하세요. json UTF-8로 인코딩된 문자만 허용되므로 json_encode()의 매개변수는 UTF-8로 인코딩되어야 합니다. 그렇지 않으면 빈 문자 또는 null이 발생합니다. 중국어가 GB2312 인코딩을 사용하거나 외국어가 ISO-8859-1 인코딩을 사용하는 경우 이 점에 특별한 주의를 기울여야 합니다.
2. 인덱스 배열 및 연관 배열
PHP는 두 가지 유형의 배열을 지원합니다. 하나는 "값"(값)만 저장하는 인덱스 배열이고, 다른 하나는 "이름-값 쌍"을 저장하는 인덱스 배열입니다. (이름/값) 연관 배열.
javascript는 연관 배열을 지원하지 않기 때문에 json_encode()는 인덱스 배열만 배열 형식으로 변환하고 연관 배열은 객체 형식으로 변환합니다.
예를 들어, 이제 인덱스 배열이 있습니다.
$arr = Array('one', 'two', 'three'); echo json_encode($arr);
출력
["one","two","three"]
이를 연관 배열로 변경하면:
$arr = Array('1'=>'one', '2'=>'two', '3'=>'three'); echo json_encode($arr);
출력은 다음과 같습니다.
rreee
주의하세요. 데이터 형식이 "[]"(배열)에서 "{}"(객체)로 변경됩니다. "인덱스 배열"을 "객체"로 강제 변환해야 하는 경우{"1":"one","2":"two","3":"three"}
json_encode( (object)$arr );
과 같이 작성할 수 있습니다. 3. 클래스 변환
다음은 하나의 PHP입니다. class:json_encode ( $arr, JSON_FORCE_OBJECT );
class Foo { const ERROR_CODE = '404'; public $public_ex = 'this is public'; private $private_ex = 'this is private!'; protected $protected_ex = 'this should be protected'; public function getErrorCode() { return self::ERROR_CODE; } }
$foo = new Foo; $foo_json = json_encode($foo); echo $foo_json;
4.json_decode()
이 함수는 json 텍스트를 해당 PHP 데이터 구조로 변환하는 데 사용됩니다. 예를 들면 다음과 같습니다.{"public_ex":"this is public"}
$json = '{"foo": 12345}'; $obj = json_decode($json); print $obj->{'foo'}; // 12345
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}'; var_dump(json_decode($json));
object(stdClass)#1 (5) { ["a"] => int(1) ["b"] => int(2) ["c"] => int(3) ["d"] => int(4) ["e"] => int(5) }
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}'; var_dump(json_decode($json,true));
5. json_decode()의 일반적인 오류
json을 작성하는 다음 세 가지 방법이 모두 잘못된 위치를 확인할 수 있습니다. 오류는?array(5) { ["a"] => int(1) ["b"] => int(2) ["c"] => int(3) ["d"] => int(4) ["e"] => int(5) }
$bad_json = "{ 'bar': 'baz' }"; $bad_json = '{ bar: "baz" }'; $bad_json = '{ "bar": "baz", }';
위 내용은 PHP 언어에서 JSON을 사용하고 json을 배열로 복원하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!