차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판이전 판
다음 판
이전 판
tech:json_php [2017/08/26 04:30] 211.41.217.146tech:json_php [2020/10/30 00:46] (현재) – [Json php 파싱] V_L
줄 1: 줄 1:
-`+{{tag>json php}} 
 +====== Json php 파싱 ====== 
 + 
 +PHP 버전이 5.2 이상이라면 PHP에도 [[JSON]] 파서가 기본으로 내장되어있다. 
 + 
 +  * [[https://www.php.net/manual/en/function.json-decode.php|json_decode]] — JSON 문자열을 PHP 배열로 바꾼다. 
 +  * json_encode — PHP 배열을 JSON 문자열로 바꾼다. 
 +  * json_last_error — 마지막으로 일어난 에러 코드를 반환한다. 
 +  * json_last_error_msg — 마지막으로 일어난 에러 메시지를 반환한다. 
 + 
 +파일에서 불러오려면 
 + 
 +  $string = file_get_contents("test.json"); 
 +  $json=json_decode($string); 
 + 
 +PHP에서 파싱할 대상은 문자열 형태여야 한다. 
 +즉, 작은따옴표로 둘러 싸여야 한다. 
 +  $json = '{"champions":[{"id":266,"active":true},{"id":103,"active":true}]}'; 
 + 
 +그리고 json_decode() 함수를 이용하여 디코딩 
 +  $decode = json_decode($json, true); 
 +두번째 인자로 true를 주면 배열로 반환하므로 배열스타일로 값을 참조한다. 
 +<file php> 
 +  $array_a = $decode['champions'][0]['id'];  
 +  echo $array_a; 
 + 
 +    echo "<br/><br/>"; 
 + 
 +   $array_c = $decode['champions']; 
 +   foreach($array_c as $key => $value) 
 +   { 
 +    echo $value['id']."<br/>"; 
 +    echo $value['active']."<br/>"; 
 +   } 
 +</file> 
 +