Maison  >  Article  >  développement back-end  >  Comment convertir json en chaîne en php

Comment convertir json en chaîne en php

PHPz
PHPzoriginal
2023-04-13 09:04:331755parcourir

Avec le développement rapide de la technologie Internet, l'interaction des données est devenue de plus en plus courante. Dans ce contexte, JSON, en tant que format léger d’échange de données, est progressivement devenu le premier choix de nombreux développeurs. En langage PHP, nous pouvons facilement convertir des types de données tels que des tableaux et des objets en chaînes au format JSON pour faciliter la communication des données.

1. PHP convertit les tableaux en JSON

En PHP, nous pouvons utiliser la fonction json_encode pour convertir les tableaux en chaînes JSON. La fonction est utilisée comme suit :

mixed json_encode(mixed $value[, int $options = 0[, int $depth = 512]]);

Parmi eux, le paramètre $value représente le tableau ou l'objet qui doit être converti en chaîne au format JSON ; le paramètre $options représente les options lors de la conversion, et la valeur par défaut est 0 ; Le paramètre $profondeur représente la profondeur maximale lors de la conversion. La valeur par défaut est 512.

Ce qui suit est un exemple de code :

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

Dans le code ci-dessus, nous définissons un tableau $data, qui contient un sous-tableau nommé 'hobby'. Après avoir utilisé la fonction json_encode pour convertir $data en chaîne JSON, le résultat est le suivant :

{"name":"张三","age":20,"hobby":["篮球","游泳","音乐"]}

2. PHP convertit les objets en JSON

En plus de convertir des tableaux en chaînes au format JSON, nous pouvons également convertir des objets en JSON. En PHP, nous pouvons utiliser la fonction json_encode pour réaliser cette fonction.

Ce qui suit est un exemple de code :

<?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;
?>

Dans le code ci-dessus, nous définissons une classe nommée Person, qui définit trois propriétés publiques. Après avoir créé l'objet $data, nous le convertissons en chaîne au format JSON à l'aide de la fonction json_encode. Le résultat obtenu est le suivant :

{"name":"张三","age":20,"hobby":["篮球","游泳","音乐"]}

A noter que lors de la conversion de l'objet en chaîne au format JSON, seules les propriétés publiques seront converties. Si vous souhaitez convertir des propriétés privées ou protégées en chaînes au format JSON, vous pouvez utiliser la méthode __get().

3. Convertir JSON avec le chinois en PHP

Lorsque nous rencontrons le besoin de convertir JSON avec le chinois, nous devons prêter attention à certains détails. Étant donné que la fonction json_encode convertit le chinois en codage Unicode par défaut, le chinois dans la chaîne au format JSON devient difficile à lire.

Vous pouvez le convertir en chinois en définissant le paramètre $options de la fonction json_encode. La méthode spécifique est la suivante :

$json = json_encode($data, JSON_UNESCAPED_UNICODE);

Parmi eux, le paramètre JSON_UNESCAPED_UNICODE indique que les caractères chinois codés Unicode ne seront pas échappés. De cette façon, les caractères chinois de la chaîne au format JSON seront affichés normalement.

4. PHP Convertir JSON en tableau ou objet

En plus de convertir des tableaux ou des objets en chaînes au format JSON, nous pouvons également reconvertir les chaînes au format JSON en tableaux ou objets. En PHP, nous pouvons utiliser la fonction json_decode pour réaliser cette fonction.

Ce qui suit est un exemple de code :

Dans le code ci-dessus, nous attribuons une chaîne au format JSON à la variable $json et la convertissons en tableau à l'aide de la fonction json_decode. Parmi eux, le paramètre $data représente le tableau converti et le paramètre true représente la conversion de l'objet renvoyé au format tableau.

Remarque : Si le deuxième paramètre n'est pas défini sur true, un objet StdClass sera obtenu.

Résumé

En PHP, nous pouvons facilement utiliser les fonctions json_encode et json_decode pour convertir des types de données tels que des tableaux et des objets en chaînes au format JSON, et reconvertir les chaînes au format JSON en tableaux, objets et autres types de données. Cela apporte une grande commodité à l’échange et à la communication de données, et améliore également notre efficacité de codage.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn