>백엔드 개발 >PHP 문제 >PHP json에서 배열 객체를 변환하는 방법

PHP json에서 배열 객체를 변환하는 방법

PHPz
PHPz원래의
2023-04-26 09:10:12499검색

웹 개발에서 JSON 형식은 다양한 프로그래밍 언어 간에 데이터를 전송하고 교환할 수 있기 때문에 매우 일반적입니다. PHP 언어는 또한 JSON 문자열을 PHP 배열 또는 개체로 변환하고, PHP 배열 또는 개체를 JSON 문자열로 변환할 수 있는 매우 편리한 JSON 인코딩 및 디코딩 방법을 제공합니다. 이 기사에서는 JSON 문자열을 배열이나 개체로 변환하고, 추가로 배열이나 개체를 배열이나 개체로 변환하는 PHP의 메서드를 소개합니다.

  1. JSON을 배열로 변환

PHP에 내장된 json_decode() 함수를 사용하여 JSON 형식 문자열을 PHP 배열로 변환하세요. json_decode() 함수는 두 개의 매개변수를 받습니다. 첫 번째 매개변수는 변환할 JSON 형식 문자열입니다. 두 번째 매개변수는 Boolean 값입니다. 이 매개변수를 true로 설정하면 JSON 형식이 변환됩니다. . 연관 배열로 디코딩되며, 이 매개변수가 false인 경우 객체를 반환합니다. 기본적으로 이 매개변수는 false입니다. json_decode()函数可以将JSON格式的字符串转换为PHP数组。json_decode()函数接收两个参数,第一个参数是要转换的JSON格式的字符串,第二个参数是一个布尔值,如果该参数设置为true,则将将JSON解码为关联数组,如果该参数为false,则返回一个对象。默认情况下该参数为false。

下面是一个使用json_decode()函数将JSON转换为数组的例子:

$jsonStr = '{"name":"Jack","age":20}';
$arr = json_decode($jsonStr, true);
print_r($arr);

以上代码将输出一个以键值对表示的数组:

Array
(
    [name] => Jack
    [age] => 20
)
  1. JSON转换为对象

如果不指定json_decode()函数的第二个参数,则将返回一个PHP对象。使用json_decode()函数将JSON格式的字符串转换为PHP对象非常简单,只需要传入JSON格式字符串即可。

下面是一个将JSON格式字符串转为PHP对象的例子:

$jsonStr = '{"name":"Jack","age":20}';
$obj = json_decode($jsonStr);
var_dump($obj);

以上代码将输出一个PHP对象:

object(stdClass)#1 (2) {
  ["name"]=>
  string(4) "Jack"
  ["age"]=>
  int(20)
}
  1. 数组转换为JSON字符串

使用PHP内置的json_encode()函数可以将PHP数组转化为JSON字符串。json_encode()函数接收一个参数,即要转换的PHP数组,在将PHP数组转换为JSON字符串时,json_encode()函数会自动将键值对转换为JSON字符串中的键值对。

下面是一个将PHP数组转换为JSON字符串的例子:

$arr = array("name"=>"Jack", "age"=>20);
$jsonStr = json_encode($arr);
echo $jsonStr;

以上代码将输出以下JSON格式的字符串:

{"name":"Jack","age":20}
  1. 对象转换为JSON字符串

用内置的json_encode()函数将PHP对象转化为JSON字符串也很简单。在转换前,需要使用json_encode()函数的另一个参数,即JSON_PRETTY_PRINT常量,它用于设置将JSON字符串格式化为易于阅读且更人类友好的格式。

下面是一个将PHP对象转换为JSON字符串的例子:

class Person {
    public $name;
    public $age;
    public function __construct($name, $age) {
        $this->name = $name;
        $this->age = $age;
    }
}
$person = new Person("Jack", 20);
$jsonStr = json_encode($person, JSON_PRETTY_PRINT);
echo $jsonStr;

以上代码将输出以下易于阅读的JSON格式的字符串:

{
    "name": "Jack",
    "age": 20
}
  1. 数组对象互相转换

将一个包含多个对象的数组转换为JSON格式的字符串,可以使用json_encode()函数。而将JSON格式的字符串转换回PHP数组对象,可以使用json_decode()函数。下面是一个将包含多个对象的数组转换成JSON格式的例子:

class Person {
    public $name;
    public $age;
    public function __construct($name, $age) {
        $this->name = $name;
        $this->age = $age;
    }
}
$person1 = new Person("Jack", 20);
$person2 = new Person("Tom", 25);
$person3 = new Person("Lucy", 18);
$arr = array($person1, $person2, $person3);
$jsonStr = json_encode($arr, JSON_PRETTY_PRINT);
echo $jsonStr;

以上代码将输出以下JSON格式的字符串:

[
    {
        "name": "Jack",
        "age": 20
    },
    {
        "name": "Tom",
        "age": 25
    },
    {
        "name": "Lucy",
        "age": 18
    }
]

接下来将这个包含多个对象的JSON格式的字符串转换回PHP数组对象:

$jsonStr = '[{"name":"Jack","age":20},{"name":"Tom","age":25},{"name":"Lucy","age":18}]';
$arr = json_decode($jsonStr);
print_r($arr);

运行以上代码,将输出以下PHP数组对象:

Array
(
    [0] => stdClass Object
        (
            [name] => Jack
            [age] => 20
        )

    [1] => stdClass Object
        (
            [name] => Tom
            [age] => 25
        )

    [2] => stdClass Object
        (
            [name] => Lucy
            [age] => 18
        )

)

由于使用json_decode()函数的第二个参数没有指定,所以将返回一个PHP对象数组。如果要将JSON解码为PHP关联数组,则需要将第二个参数设置为true

다음은 json_decode() 함수를 사용하여 JSON을 배열로 변환하는 예입니다.

rrreee

위 코드는 키-값 쌍으로 표시되는 배열을 출력합니다. 🎜rrreee
    🎜JSON to object🎜🎜🎜 json_decode() 함수의 두 번째 매개변수를 지정하지 않으면 PHP 개체가 반환됩니다. json_decode() 함수를 사용하여 JSON 형식 문자열을 PHP 개체로 변환하는 것은 매우 간단합니다. JSON 형식 문자열만 전달하면 됩니다. 🎜🎜다음은 JSON 형식 문자열을 PHP 개체로 변환하는 예입니다. 🎜rrreee🎜위 코드는 PHP 개체를 출력합니다. 🎜rrreee
      🎜배열을 JSON 문자열로 변환🎜🎜🎜사용 PHP 내장된 json_encode() 함수는 PHP 배열을 JSON 문자열로 변환할 수 있습니다. json_encode() 함수는 변환할 PHP 배열인 하나의 매개변수를 받습니다. PHP 배열을 JSON 문자열로 변환할 때 json_encode() 함수는 자동으로 변환합니다. 키-값 쌍 JSON 문자열의 키-값 쌍으로 변환합니다. 🎜🎜다음은 PHP 배열을 JSON 문자열로 변환하는 예입니다: 🎜rrreee🎜위 코드는 다음 JSON 형식 문자열을 출력합니다: 🎜rrreee
        🎜객체를 JSON 문자열로 변환🎜🎜🎜 또한 내장된 json_encode() 함수를 사용하여 PHP 객체를 JSON 문자열로 쉽게 변환할 수 있습니다. 변환하기 전에 json_encode() 함수의 또 다른 매개변수인 JSON_PRETTY_PRINT 상수를 사용해야 합니다. 이 상수는 JSON 문자열을 더 읽기 쉽고 사람이 쉽게 형식화하는 데 사용됩니다. -친절한 형식. 🎜🎜다음은 PHP 개체를 JSON 문자열로 변환하는 예입니다. 🎜rrreee🎜위 코드는 다음과 같이 읽기 쉬운 JSON 형식 문자열을 출력합니다. 🎜rrreee
          🎜Convert array object to 서로🎜🎜 🎜여러 개체가 포함된 배열을 JSON 형식의 문자열로 변환하려면 json_encode() 함수를 사용하면 됩니다. JSON 형식의 문자열을 다시 PHP 배열 객체로 변환하려면 json_decode() 함수를 사용할 수 있습니다. 다음은 여러 개체가 포함된 배열을 JSON 형식으로 변환하는 예입니다. 🎜rrreee🎜 위 코드는 다음 JSON 형식 문자열을 출력합니다. 🎜rrreee🎜 다음으로, 여러 개체가 포함된 이 JSON 형식 문자열을 PHP 배열 개체로 변환합니다. 🎜rrreee 🎜위 코드를 실행하면 다음 PHP 배열 개체가 출력됩니다. 🎜rrreee🎜 json_decode() 함수의 두 번째 매개 변수가 지정되지 않았으므로 PHP 개체 배열이 반환됩니다. JSON을 PHP 연관 배열로 디코딩하려면 두 번째 매개변수를 true로 설정해야 합니다. 🎜🎜이 글에서는 JSON 형식의 문자열을 PHP에서 배열이나 객체로 변환하는 방법과 추가로 배열이나 객체를 JSON 문자열로 변환하는 방법을 소개했습니다. 이러한 기능을 배우면 웹 애플리케이션에서 JSON 데이터를 더 쉽게 처리하는 데 도움이 됩니다. 🎜

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.