Maison >développement back-end >Problème PHP >Comment convertir un objet tableau en php json
Dans le développement web, le format JSON est très courant car il permet de transférer et d'échanger des données entre différents langages de programmation. Le langage PHP fournit également une méthode d'encodage et de décodage JSON très pratique, qui peut convertir des chaînes JSON en tableaux ou objets PHP, et également convertir des tableaux ou objets PHP en chaînes JSON. Cet article présentera les méthodes en PHP pour convertir les chaînes JSON en tableaux ou objets, puis convertira davantage les tableaux ou les objets en tableaux ou objets.
Utilisez la fonction json_decode()
intégrée de PHP pour convertir les chaînes au format JSON en tableaux PHP. La fonction json_decode()
reçoit deux paramètres. Le premier paramètre est la chaîne au format JSON à convertir. Le deuxième paramètre est une valeur booléenne. Si ce paramètre est défini sur true, le format JSON sera converti. . Décode en un tableau associatif ou renvoie un objet si ce paramètre est faux. Par défaut, ce paramètre est faux. 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 )
如果不指定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) }
使用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}
用内置的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 }
将一个包含多个对象的数组转换为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()
pour convertir JSON en tableau : rrreee
Le code ci-dessus générera un tableau représenté par des paires clé-valeur : 🎜rrreeejson_decode()
, un objet PHP sera renvoyé. Il est très simple d'utiliser la fonction json_decode()
pour convertir une chaîne au format JSON en un objet PHP. Il vous suffit de transmettre la chaîne au format JSON. 🎜🎜Ce qui suit est un exemple de conversion d'une chaîne au format JSON en un objet PHP : 🎜rrreee🎜Le code ci-dessus générera un objet PHP : 🎜rrreeejson_encode()
peut convertir les tableaux PHP en chaînes JSON. La fonction json_encode()
reçoit un paramètre, qui est le tableau PHP à convertir. Lors de la conversion du tableau PHP en chaîne JSON, la fonction json_encode()
convertira automatiquement. la paire clé-valeur Convertir en paires clé-valeur dans une chaîne JSON. 🎜🎜Voici un exemple de conversion d'un tableau PHP en chaîne JSON : 🎜rrreee🎜Le code ci-dessus affichera la chaîne au format JSON suivante : 🎜rrreeejson_encode()
. Avant la conversion, vous devez utiliser un autre paramètre de la fonction json_encode()
, la constante JSON_PRETTY_PRINT
, qui sert à formater la chaîne JSON pour qu'elle soit plus facile à lire et plus humaine. -format convivial. 🎜🎜Voici un exemple de conversion d'un objet PHP en chaîne JSON : 🎜rrreee🎜Le code ci-dessus affichera la chaîne au format JSON facile à lire suivante : 🎜rrreeejson_encode()
. Pour reconvertir une chaîne au format JSON en un objet tableau PHP, vous pouvez utiliser la fonction json_decode()
. Voici un exemple de conversion d'un tableau contenant plusieurs objets au format JSON : 🎜rrreee🎜 Le code ci-dessus affichera la chaîne au format JSON suivante : 🎜rrreee🎜 Ensuite, convertissez cette chaîne au format JSON contenant plusieurs objets en objet tableau PHP : 🎜rrreee 🎜L'exécution du code ci-dessus affichera l'objet tableau PHP suivant : 🎜rrreee🎜 Puisque le deuxième paramètre de la fonction json_decode()
n'est pas spécifié, un tableau d'objets PHP sera renvoyé. Si vous souhaitez décoder JSON dans un tableau associatif PHP, vous devez définir le deuxième paramètre sur true
. 🎜🎜Dans cet article, nous avons présenté comment convertir une chaîne au format JSON en tableau ou objet en PHP et convertir davantage un tableau ou un objet en chaîne JSON. L'apprentissage de ces fonctionnalités peut vous aider à traiter plus facilement les données JSON dans vos applications Web. 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!