Maison >développement back-end >Problème PHP >php json en fonction de tableau

php json en fonction de tableau

王林
王林original
2023-05-05 21:25:06491parcourir

En PHP, nous avons souvent besoin de convertir JSON en tableau pour le traitement. Étant donné que le format JSON est relativement concis et facile à comprendre, il est devenu un format courant pour transmettre des données entre le front et le back-end. Par conséquent, en PHP, certaines fonctions peuvent nous aider à convertir JSON en tableau.

Cet article présentera plusieurs JSON couramment utilisés pour mettre en réseau des fonctions en PHP.

  1. json_decode()

json_decode() est la fonction de base en PHP pour convertir des chaînes JSON en tableaux ou objets PHP. Sa syntaxe est la suivante :

mixed json_decode ( string $json [, bool $assoc = FALSE [, int $depth = 512 [, int $options = 0 ]]] )

Où :

  • $json : Chaîne JSON à convertir.
  • $assoc : Si ce paramètre est VRAI, un tableau est renvoyé ; s'il est FAUX, un objet Object est renvoyé.
  • $degree : Spécifie la profondeur maximale, utilisée pour contrôler la profondeur des appels récursifs. La valeur par défaut est 512.
  • $options : options d'encodage JSON, vous pouvez spécifier le format converti.

Exemple de code :

$json_str = '{"name":"Tom","age":20,"hobby":["reading","writing"]}';
$arr = json_decode($json_str, TRUE);
print_r($arr);

Résultat de sortie :

Array
(
    [name] => Tom
    [age] => 20
    [hobby] => Array
        (
            [0] => reading
            [1] => writing
        )
)

Grâce à la fonction json_decode(), nous avons réussi à convertir la chaîne JSON en tableau.

  1. json_decode() est utilisé en combinaison avec JSON_THROW_ON_ERROR

En PHP 7.3 et supérieur, nous pouvons utiliser l'option JSON_THROW_ON_ERROR pour laisser json_decode( ) fonction Lève une exception si une erreur de conversion se produit. L'exemple de code est le suivant :

$json_str = '{"name":"Tom","age":20,"hobby:["reading","writing"]}';
try {
    $arr = json_decode($json_str, TRUE, 512, JSON_THROW_ON_ERROR);
    print_r($arr);
} catch (JsonException $e) {
    echo 'JSON错误:' . $e->getMessage();
}

Résultat de sortie :

JSON错误:Syntax error

Dans cet exemple, en raison du format incorrect de la chaîne JSON, la fonction json_decode() a levé une exception et un message d'erreur demandé.

  1. json_last_error_msg()

Lorsque vous utilisez la fonction json_decode() pour convertir une chaîne JSON, il y aura parfois des erreurs d'analyse à ce moment-là. nous pouvons utiliser La fonction json_last_error_msg() obtient des informations sur l'erreur. L'exemple de code est le suivant :

$json_str = '{"name":"Tom","age":20,"hobby":["reading","writing"';
$arr = json_decode($json_str, TRUE);
if (json_last_error() === JSON_ERROR_NONE) {
    print_r($arr);
} else {
    echo 'JSON错误:' . json_last_error_msg();
}

Résultat de sortie :

JSON错误:Syntax error

Dans cet exemple, json_last_error_msg() a renvoyé un message d'erreur en raison d'un format de chaîne incorrect.

  1. json_encode()

En PHP, nous pouvons également convertir des tableaux PHP en chaînes au format JSON, ce qui nécessite l'utilisation de la fonction json_encode(). Sa syntaxe est la suivante :

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

Où :

  • $value : Variable PHP qui doit être convertie au format JSON.
  • $options : Facultatif. Options d'encodage JSON.
  • $profondeur : Facultatif. Spécifiez la profondeur maximale. La valeur par défaut est 512.

L'exemple de code est le suivant :

$arr = array('name' => 'Tom', 'age' => 20, 'hobby' => array('reading', 'writing'));
$json_str = json_encode($arr, JSON_UNESCAPED_UNICODE);
echo $json_str;

Résultat de sortie :

{"name":"Tom","age":20,"hobby":["reading","writing"]}

Grâce à la fonction json_encode(), nous avons réussi la conversion le tableau PHP en chaîne JSON.

Résumé :

En PHP, nous pouvons utiliser la fonction json_decode() pour convertir une chaîne JSON en tableau ou objet, et nous pouvons également utiliser la fonction json_encode() pour convertir un tableau PHP Une chaîne au format JSON. Dans des circonstances normales, vous pouvez utiliser les options par défaut. Si nécessaire, vous pouvez utiliser les options associées pour configurer. Lors de l'analyse ou de l'encodage de JSON, nous pouvons également utiliser les fonctions associées pour obtenir des informations sur les erreurs afin d'améliorer le traitement.

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