Maison > Article > développement back-end > Convertir PHP en JSON
PHP est un langage de programmation côté serveur couramment utilisé, principalement utilisé pour créer des sites Web dynamiques. Lors de l'interaction avec les données front-end, il est souvent nécessaire de convertir les variables PHP au format JSON pour faciliter l'analyse et l'utilisation par le front-end. Cet article explique comment convertir des données au format JSON en PHP.
Tout d'abord, nous devons nous assurer que la version PHP >=5.2.0, car après cette version, PHP dispose d'une extension json intégrée pour convertir les données au format json. Avant de l'utiliser, nous devons vérifier si l'extension json a été activée. Vous pouvez afficher l'état actuel de l'extension PHP via la fonction phpinfo(), comme indiqué ci-dessous :
<?php phpinfo(); ?>
Exécutez le code ci-dessus pour afficher les informations PHP dans le navigateur. Si l'extension json a été activée, vous trouverez quelque chose de similaire à ce qui suit sur la page :
json json support => enabled
Si elle n'est pas activée, vous devez ajouter la ligne suivante au fichier de configuration php.ini :
extension=json.so
Après cela, nous pouvons utiliser la fonction intégrée json_encode() de PHP convertit un tableau ou un objet PHP en une chaîne au format json. Voici un exemple simple :
<?php $person = array( "name" => "John Smith", "age" => 30, "city" => "New York" ); echo json_encode($person); ?>
Exécutez le code ci-dessus et le résultat de sortie est le suivant :
{"name":"John Smith","age":30,"city":"New York"}
Vous pouvez voir que la fonction json_encode() a réussi à convertir le tableau $person en une chaîne au format json. Pendant le processus de conversion, si les données contiennent des caractères spéciaux, tels que des guillemets doubles, des barres obliques, etc., la fonction json_encode() les échappera automatiquement. Si les données contiennent des caractères chinois, elles doivent d'abord être codées pour éviter les caractères tronqués. Vous pouvez utiliser la fonction urlencode() pour encoder des caractères chinois.
En plus des tableaux, nous pouvons également convertir des objets PHP en chaînes au format json. Convertissez simplement l'objet en tableau. Par exemple :
<?php class Person { public $name; public $age; public $city; function __construct($name, $age, $city) { $this->name = $name; $this->age = $age; $this->city = $city; } } $person = new Person("John Smith", 30, "New York"); echo json_encode($person); ?>
Le résultat de sortie est le même que l'exemple précédent :
{"name":"John Smith","age":30,"city":"New York"}
Parfois, nous souhaitons inclure des caractères chinois dans la chaîne JSON de sortie au lieu des caractères codés. L'option JSON_UNESCAPED_UNICODE peut être ajoutée à la fonction json_encode() pour générer des caractères chinois non traités. Par exemple :
<?php $person = array( "name" => "张三", "age" => 30, "city" => "北京" ); echo json_encode($person, JSON_UNESCAPED_UNICODE); ?>
Le résultat de sortie est le suivant :
{"name":"张三","age":30,"city":"北京"}
En plus de convertir les données PHP au format JSON, nous pouvons également convertir les données au format JSON en variables PHP. Ceci peut être réalisé en utilisant la fonction json_decode(). Par exemple :
<?php $json_str = '{"name":"John Smith","age":30,"city":"New York"}'; $person = json_decode($json_str); var_dump($person); ?>
Le résultat de sortie est le suivant :
object(stdClass)#1 (3) { ["name"]=> string(10) "John Smith" ["age"]=> int(30) ["city"]=> string(8) "New York" }
Vous pouvez voir que la fonction json_decode() convertit avec succès la chaîne au format JSON en un objet PHP. Il convient de noter que lors du processus de conversion, la fonction convertira automatiquement le type de données JSON en type de données PHP correspondant.
Pour résumer, PHP fournit une multitude de fonctions et d'extensions. Nous pouvons facilement convertir les variables PHP en données au format JSON et les utiliser sur le front-end. Dans le même temps, nous pouvons également convertir les données au format JSON en variables PHP pour un traitement ultérieur sur le backend. Pour ceux qui utilisent PHP pour le développement Web, la maîtrise de ces fonctions et extensions améliorera considérablement l’efficacité et la qualité du développement.
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!