이 기사에서는 PHP에 대한 관련 지식을 제공하며, 주로 PHP에서 JSON 데이터를 구문 분석하는 방법을 소개합니다. JSON은 빠르고 쉽게 구문 분석하고 생성할 수 있는 표준 경량 데이터 교환 형식입니다. 살펴보겠습니다. 모든 사람에게 도움이 되기를 바랍니다.
추천 학습: "PHP 비디오 튜토리얼"
JSON은 빠르고 쉽게 구문 분석하고 생성할 수 있는 표준 경량 데이터 교환 형식입니다.
XML과 마찬가지로 JSON은 작성하기 쉽고 이해하기 쉬운 텍스트 기반 형식이지만 XML과 달리 JSON 데이터 구조는 XML 버전보다 대역폭을 덜 차지합니다. JSON은 두 가지 기본 구조를 기반으로 합니다.
객체: 키/값 쌍(예: 키:값)의 컬렉션으로 정의됩니다. 각 객체는 왼쪽 중괄호 "{"로 시작하고 오른쪽 중괄호 "}"로 끝납니다. 여러 키/값 쌍은 쉼표(",")로 구분됩니다.
Array: 정렬된 값 목록으로 정의됩니다. 배열은 왼쪽 대괄호 "["로 시작하고 오른쪽 대괄호 "]"로 끝납니다. 값은 쉼표 ","로 구분됩니다.
JSON에서 키는 항상 문자열이고 값은 문자열, 숫자, true 또는 false, null 또는 객체나 배열일 수 있습니다. 문자열은 큰따옴표로 묶어야 하며 n, t 및 와 같은 이스케이프 문자를 포함할 수 있습니다. JSON 개체는 다음과 같습니다.
{ "book": { "name": "PHP 从入门到精通", "author": "明日科技", "year": 2017, "type": "php编程", "bestseller": true } }
JSON 배열의 예는 다음과 같습니다.
{ "fruits": [ "Apple", "Banana", "Strawberry", "Mango" ] }
PHP에서 json_encode() 함수는 값을 JSON으로 인코딩하는 데 사용됩니다. 체재. 인코딩된 값은 데이터베이스나 파일 핸들과 같은 리소스를 제외한 모든 PHP 데이터 유형이 될 수 있습니다. 다음 예에서는 PHP 연관 배열을 JSON 개체로 인코딩하는 방법을 보여줍니다.
// 关联数组 $marks = array("Peter"=>65, "Harry"=>80, "John"=>78, "Clark"=>90); echo json_encode($marks);
마찬가지로 PHP 인덱스 배열을 JSON 배열로 인코딩할 수 있습니다. 예:
// 索引数组 $colors = array("红", "绿", "蓝", "橙", "黄"); echo json_encode($colors);
또한 JSON_FORCE_OBJECT 옵션을 사용하여 json_encode( ) 함수를 사용하여 PHP 인덱스 배열을 인코딩하면 다음 예와 같이 JSON 개체로 반환됩니다.
// 索引数组 $colors = array("红", "绿", "蓝", "橙"); echo json_encode($colors, JSON_FORCE_OBJECT);
JSON 데이터 디코딩은 인코딩만큼 쉽습니다. PHP json_decode() 함수를 사용하여 JSON으로 인코딩된 문자열을 적절한 PHP 데이터 유형으로 변환할 수 있습니다.
이제 JSON 데이터를 디코딩하고 PHP에서 JSON 개체 또는 배열의 개별 요소에 액세스하는 방법을 보여주는 예를 살펴보겠습니다.
<?php // 将JSON编码的字符串分配给PHP变量 $json = '{"Peter":65,"Harry":80,"John":78,"Clark":90}'; // 将JSON数据解码为PHP关联数组 $arr = json_decode($json, true); // Access values from the associative array echo $arr["Peter"]; // Output: 65 echo $arr["Harry"]; // Output: 80 echo $arr["John"]; // Output: 78 echo $arr["Clark"]; // Output: 90 // 将JSON数据解码为PHP对象 $obj = json_decode($json); // 返回对象的访问值 echo $obj->Peter; // Output: 65 echo $obj->Harry; // Output: 80 echo $obj->John; // Output: 78 echo $obj->Clark; // Output: 90 ?>
다음과 같이 foreach()를 사용하여 디코딩된 데이터를 반복할 수도 있습니다.
<?php // 将JSON编码的字符串分配给PHP变量 $json = '{"Peter":65,"Harry":80,"John":78,"Clark":90}'; // 将JSON数据解码为PHP关联数组 $arr = json_decode($json, true); // 通过关联数组循环 foreach($arr as $key=>$value){ echo $key . "=>" . $value . ""; } echo ""; // 将JSON数据解码为PHP对象 $obj = json_decode($json); // 通过对象循环 foreach($obj as $key=>$value){ echo $key . "=>" . $value . ""; } ?>
권장 학습: "PHP 비디오 튜토리얼"
위 내용은 PHP가 JSON 데이터를 구문 분석하는 방법을 분석해 보겠습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!