> 백엔드 개발 > PHP 문제 > PHP에서 json을 문자열로 변환하는 방법

PHP에서 json을 문자열로 변환하는 방법

PHPz
풀어 주다: 2023-04-13 09:41:57
원래의
1810명이 탐색했습니다.

인터넷 기술의 급속한 발전으로 인해 데이터 상호 작용이 점점 더 일반화되었습니다. 이러한 맥락에서 경량 데이터 교환 형식인 JSON은 점차 많은 개발자들의 첫 번째 선택이 되었습니다. PHP 언어에서는 배열, 객체 등의 데이터 유형을 JSON 형식 문자열로 쉽게 변환하여 데이터 통신을 용이하게 할 수 있습니다.

1. PHP는 배열을 JSON으로 변환합니다

PHP에서는 json_encode 함수를 사용하여 배열을 JSON 문자열로 변환할 수 있습니다. 함수는 다음과 같이 사용됩니다.

mixed json_encode(mixed $value[, int $options = 0[, int $depth = 512]]);
로그인 후 복사

그 중 $value 매개변수는 JSON 형식 문자열로 변환해야 하는 배열 또는 객체를 나타냅니다. $options 매개변수는 변환 중 옵션을 나타내며 기본값은 0입니다. $length 매개변수는 변환 중 최대 깊이를 나타냅니다. 기본값은 512입니다.

다음은 샘플 코드입니다.

<?php
$data = array(
    &#39;name&#39; => '张三',
    'age' => 20,
    'hobby' => array('篮球', '游泳', '音乐'),
);
$json = json_encode($data);
echo $json;
?>
로그인 후 복사

위 코드에서는 'hobby'라는 하위 배열을 포함하는 $data 배열을 정의합니다. json_encode 함수를 사용하여 $data를 JSON 문자열로 변환한 후 결과는 다음과 같습니다.

{"name":"张三","age":20,"hobby":["篮球","游泳","音乐"]}
로그인 후 복사
로그인 후 복사

2. PHP는 객체를 JSON으로 변환합니다

배열을 JSON 형식 문자열로 변환하는 것 외에도 객체를 JSON으로 변환할 수도 있습니다. PHP에서는 json_encode 함수를 사용하여 이 기능을 구현할 수 있습니다.

다음은 샘플 코드입니다.

<?php
class Person {
    public $name;
    public $age;
    public $hobby;
    function __construct($name, $age, $hobby) {
        $this->name = $name;
        $this->age = $age;
        $this->hobby = $hobby;
    }
}

$data = new Person('张三', 20, array('篮球', '游泳', '音乐'));
$json = json_encode($data);
echo $json;
?>
로그인 후 복사

위 코드에서는 세 가지 공개 속성을 정의하는 Person이라는 클래스를 정의합니다. $data 객체를 생성한 후 json_encode 함수를 사용하여 이를 JSON 형식 문자열로 변환합니다. 얻은 결과는 다음과 같습니다.

{"name":"张三","age":20,"hobby":["篮球","游泳","音乐"]}
로그인 후 복사
로그인 후 복사

객체를 JSON 형식 문자열로 변환하면 공용 속성만 변환된다는 점에 유의해야 합니다. 프라이빗 또는 보호 속성을 JSON 형식 문자열로 변환하려면 __get() 메서드를 사용할 수 있습니다.

3. PHP에서 JSON을 중국어로 변환

JSON을 중국어로 변환해야 할 경우 몇 가지 세부 사항에 주의해야 합니다. json_encode 함수는 기본적으로 중국어를 유니코드 인코딩으로 변환하므로 JSON 형식 문자열의 중국어는 읽기 어려워집니다.

json_encode 함수의 $options 매개변수를 설정하여 중국어로 변환할 수 있습니다. 구체적인 방법은 다음과 같습니다.

$json = json_encode($data, JSON_UNESCAPED_UNICODE);
로그인 후 복사

그 중 JSON_UNESCAPED_UNICODE 매개변수는 유니코드로 인코딩된 한자를 이스케이프하지 않음을 나타냅니다. 이렇게 하면 JSON 형식 문자열의 한자가 정상적으로 표시됩니다.

4. PHP JSON을 배열 또는 개체로 변환

배열이나 개체를 JSON 형식 문자열로 변환하는 것 외에도 JSON 형식 문자열을 다시 배열이나 개체로 변환할 수도 있습니다. PHP에서는 json_decode 함수를 사용하여 이 기능을 구현할 수 있습니다.

다음은 샘플 코드입니다.

로그인 후 복사

위 코드에서는 $json 변수에 JSON 형식 문자열을 할당하고 json_decode 함수를 사용하여 배열로 변환합니다. 그 중 $data 매개변수는 변환된 배열을 나타내고, true 매개변수는 반환된 객체를 배열 형식으로 변환하는 것을 나타냅니다.

참고: 두 번째 매개변수가 true로 설정되지 않으면 StdClass 객체가 획득됩니다.

요약

PHP에서는 json_encode 및 json_decode 함수를 쉽게 사용하여 배열 및 객체와 같은 데이터 유형을 JSON 형식 문자열로 변환하고, JSON 형식 문자열을 다시 배열 및 객체와 같은 데이터 유형으로 변환할 수 있습니다. 이는 데이터 교환 및 데이터 통신에 큰 편의성을 제공하고 코딩 효율성도 향상시킵니다.

위 내용은 PHP에서 json을 문자열로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿