JSON(JavaScript Object Notation)은 웹 애플리케이션 간의 데이터 상호 작용에 일반적으로 사용되는 경량 데이터 교환 형식입니다. PHP에서는 처리를 위해 JSON 형식 데이터를 배열로 변환해야 하는 경우가 많습니다. 이 기사에서는 PHP에서 JSON을 배열로 변환하는 방법을 자세히 소개합니다.
1. PHP 내장 함수 json_decode()
PHP에는 JSON 형식 문자열을 PHP 배열로 변환할 수 있는 내장 함수 json_decode()가 있습니다. 이 함수의 구문은 다음과 같습니다.
mixed json_decode ( string $json [, bool $assoc = FALSE [, int $depth = 512 [, int $options = 0 ]]] )
그 중 $json 매개변수는 디코딩할 JSON 문자열을 나타냅니다. $assoc 매개변수의 기본값은 $length 매개변수 대신 객체가 반환됨을 나타냅니다. 최대 디코딩 깊이를 나타냅니다. $options 매개변수는 디코딩 옵션을 나타냅니다.
다음은 JSON 문자열을 배열로 변환하는 간단한 예입니다.
<?php // JSON字符串 $json = '{"name":"Tom","age":18,"hobbies":["reading","writing","swimming"]}'; // 将JSON字符串转换为数组 $arr = json_decode($json, true); // 输出数组 print_r($arr); ?>
출력 결과는 다음과 같습니다.
Array ( [name] => Tom [age] => 18 [hobbies] => Array ( [0] => reading [1] => writing [2] => swimming ) )
2. PHP는 JSON 구문 분석 오류를 처리합니다
그러나 실제 개발에서는 때때로 JSON 구문 분석 오류가 발생합니다. 형식 오류, 데이터 유형 불일치 등 이때, 다음 두 가지 방법으로 처리할 수 있습니다.
PHP에서 try-catch 문을 사용하여 예외를 catch하고 처리할 수 있습니다. json_decode() 함수가 JSON 문자열을 구문 분석할 때 형식이 올바르지 않거나 다른 오류가 있는 경우 예외가 발생합니다. try-catch를 사용하여 이러한 예외를 포착하고 처리할 수 있습니다.
<?php // JSON字符串 $json = '{"name":"Tom","age":18,"hobbies":}'; // 格式错误 // 将JSON字符串转换为数组 try { $arr = json_decode($json, true, 512, JSON_THROW_ON_ERROR); print_r($arr); } catch (JsonException $e) { echo "JSON字符串格式错误:" . $e->getMessage(); } ?>
출력 결과는 다음과 같습니다: JSON 문자열 형식 오류: 구문 오류
예외를 잡는 것 외에도 JSON을 구문 분석할 때 json_last_error() 함수를 사용하여 오류를 얻을 수도 있습니다 문자열 정보. 이 함수는 마지막 JSON 구문 분석의 오류 코드를 나타내는 정수를 반환합니다. 예를 들어, 파싱된 JSON 문자열의 형식이 잘못된 경우 json_last_error() 함수는 JSON_ERROR_SYNTAX를 반환합니다. 오류 코드를 기반으로 파싱 성공 여부를 판단하고 그에 따라 처리할 수 있습니다.
예는 다음과 같습니다.
<?php // JSON字符串 $json = '{"name":"Tom","age":18,"hobbies":}'; // 格式错误 // 将JSON字符串转换为数组 $arr = json_decode($json, true); // 判断是否解析成功 if (json_last_error() == JSON_ERROR_NONE) { print_r($arr); } else { echo "JSON字符串格式错误:" . json_last_error_msg(); } ?>
출력 결과는 다음과 같습니다. JSON 문자열 형식 오류: 구문 오류
요약
PHP에서는 내장 함수 json_decode()를 사용하여 JSON 형식 문자열을 배열로 변환할 수 있습니다. . JSON 문자열을 구문 분석할 때 오류가 발생하면 try-catch 문을 사용하여 예외를 포착하거나 json_last_error() 함수를 사용하여 오류 정보를 얻고 다른 오류 코드에 따라 처리할 수 있습니다. 이 기사에서는 실제 상황에 따라 선택할 수 있는 두 가지 오류 처리 방법을 소개합니다.
위 내용은 PHP에서 JSON을 배열로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!