PHP는 json을 배열 객체로 변환합니다.

PHPz
풀어 주다: 2023-05-11 09:37:36
원래의
439명이 탐색했습니다.

웹 개발에서는 프런트 엔드 페이지에서 백엔드로 JSON 형식의 데이터를 제출한 다음 해당 데이터를 PHP가 작동할 수 있는 배열 또는 개체 형식으로 변환하는 경우가 많습니다. 이 기사에서는 PHP를 사용하여 JSON 데이터를 배열 객체로 변환하는 방법을 소개합니다.

JSON은 구조가 명확하고 읽고 쓰기 쉬운 경량 데이터 교환 형식입니다. PHP에는 JSON을 배열이나 객체 형식으로 쉽게 변환할 수 있는 JSON 처리 기능이 내장되어 있습니다.

다음 JSON 데이터가 있다고 가정합니다.

{
    "name": "Tom",
    "age": 20,
    "address": {
        "province": "Guangdong",
        "city": "Guangzhou"
    },
    "hobbies": [
        "reading",
        "swimming"
    ]
}
로그인 후 복사

PHP의 json_decode() 함수를 사용하여 이를 배열 객체로 변환합니다. 함수의 사용법은 다음과 같습니다. json_decode()函数可以将其转化为数组对象。函数的用法如下:

array|object json_decode(string $json[, bool $assoc = false[, int $depth = 512[, int $options = 0]]])
로그인 후 복사

参数说明:

  • $json:需要解码的JSON字符串。
  • $assoc(可选):当该参数为真时,将返回数组形式,为假时返回对象形式。默认为假。
  • $depth(可选):设置解析JSON数据的最大深度。默认为512,超出范围将返回null。
  • $options(可选):设置JSON解码器的选项,如JSON_BIGINT_AS_STRING可以将大整数视为字符串返回。

代码示例:

$jsonStr = '{ "name": "Tom", "age": 20, "address": { "province": "Guangdong", "city": "Guangzhou" }, "hobbies": [ "reading", "swimming" ] }';

$array = json_decode($jsonStr, true);

print_r($array);
로그인 후 복사

输出结果:

Array
(
    [name] => Tom
    [age] => 20
    [address] => Array
        (
            [province] => Guangdong
            [city] => Guangzhou
        )

    [hobbies] => Array
        (
            [0] => reading
            [1] => swimming
        )
)
로그인 후 복사

可以看到,json_decode()函数将JSON字符串转化为了PHP数组对象。

如果要将JSON数据转化为PHP对象形式,可以去掉函数中的第二个参数或将其设置为false。

除了将JSON数据转化为数组或对象形式,PHP还可以将数组或对象形式的数据编码为JSON字符串。这可以使用PHP的json_encode()

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

매개변수 설명:

    $json: 디코딩해야 하는 JSON 문자열입니다.
  • $assoc (선택): 이 매개변수가 true인 경우 배열 형태로 반환되고, false인 경우 객체 형태로 반환됩니다. 기본값은 거짓입니다.
  • $length(선택 사항): JSON 데이터를 구문 분석하는 최대 깊이를 설정합니다. 기본값은 512이며 범위를 벗어나면 null이 반환됩니다.
  • $options(선택 사항): 큰 정수를 문자열로 반환할 수 있는 JSON_BIGINT_AS_STRING과 같은 JSON 디코더 옵션을 설정합니다.

코드 예:

$array = array(
    'name' => 'Tom',
    'age' => 20,
    'address' => array(
        'province' => 'Guangdong',
        'city' => 'Guangzhou'
    ),
    'hobbies' => array(
        'reading',
        'swimming'
    )
);

$jsonStr = json_encode($array, JSON_PRETTY_PRINT);

echo $jsonStr;
로그인 후 복사

출력 결과:

{
    "name": "Tom",
    "age": 20,
    "address": {
        "province": "Guangdong",
        "city": "Guangzhou"
    },
    "hobbies": [
        "reading",
        "swimming"
    ]
}
로그인 후 복사
보시다시피 json_decode() 함수는 JSON 문자열을 PHP 배열 객체로 변환합니다. 🎜🎜JSON 데이터를 PHP 객체 형식으로 변환하려면 함수에서 두 번째 매개변수를 제거하거나 false로 설정하면 됩니다. 🎜🎜JSON 데이터를 배열 또는 개체 형식으로 변환하는 것 외에도 PHP는 배열 또는 개체 데이터를 JSON 문자열로 인코딩할 수도 있습니다. 이는 PHP의 json_encode() 함수를 사용하여 달성할 수 있습니다. 함수 사용법은 다음과 같습니다. 🎜rrreee🎜 매개변수 설명: 🎜🎜🎜$value: JSON 문자열로 인코딩해야 하는 값입니다. 🎜🎜$options(선택 사항): JSON_PRETTY_PRINT와 같은 JSON 인코더 옵션을 설정하면 인코딩된 JSON 문자열을 더 쉽게 읽을 수 있습니다. 🎜🎜$length(선택 사항): 인코딩된 JSON 데이터의 최대 깊이를 설정합니다. 기본값은 512입니다. 범위를 초과하면 빈 문자열이 반환됩니다. 🎜🎜🎜코드 예: 🎜rrreee🎜출력 결과: 🎜rrreee🎜실제 개발에서는 AJAX 기술을 사용하여 JSON 데이터를 백엔드 서버에 제출한 후 PHP를 통해 작동 가능한 형태로 변환하는 경우가 많습니다. 위의 JSON 관련 PHP 함수를 마스터하면 JSON 데이터를 더 쉽게 처리할 수 있습니다. 🎜

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

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