PHP로 json을 다룰 때는 문자열을 json으로 변경을 해야 하는 경우가 있다.

PHP에서도 함수를 통해서 json을 문자열로 바꿔줄 수 있다.

오늘은 그 방법에 대해서 정리를 해봤다.

 

1) json_decode 함수 사용법

 

만약 아래와 같이 문자열이 있다고 가정해 보자.

 

$data_string = '{"data1":"hi","data2":"bye"}';

 

사용자는 이러한 문자열을 json으로 바꿔주고 싶을 때 단순히 저 문자열을 그대로 사용할 경우 문자열로 인식이 되기 때문에 json으로 다룰 수가 없다.

 

그럴 때는 json_decode 함수를 사용해서 문자열을 json으로 바꿔줘야 한다.

 

json_decode 함수의 원형은 다음과 같다.

 

json_decode(
    string $json,
    ?bool $associative = null,
    int $depth = 512,
    int $flags = 0
): mixed

 

기본적으로는 string 부분인 $json 부분만 채워서 사용을 할 수가 있다.

 

만약 위의 문자열을 함수를 이용해 json으로 바꿔주는 방법은 다음과 같다.

 

$data_json = json_decode($data_string);

 

이렇게 할 경우 $data_json에는 json 형식으로 값이 할당되게 된다.

 

그렇다면 $associative의 값을 넣게 될 경우에는 어떻게 달라지게 될까?

 

만약 $associative에 true 값을 넣어주게 될 경우 반환되는 결과는 연상 배열 형식으로 나오게 된다.

 

값을 이용할 때 배열이 필요한가 아니면 json 형식이 필요한가에 따라서 값을 추가해 주면 된다.

 

사용하는 예제는 다음과 같다.

 

$data_array = json_decode($data_string,true);

+ Recent posts