Maison  >  Article  >  développement back-end  >  Quelles sont les méthodes courantes de php json

Quelles sont les méthodes courantes de php json

青灯夜游
青灯夜游original
2021-09-18 16:56:422142parcourir

Méthodes courantes php json : 1. json_encode(), utilisé pour décoder les chaînes au format JSON ; 2. json_encode(), utilisé pour décoder les chaînes au format JSON ; 3. json_last_error(), utilisé pour renvoyer la dernière erreur survenue.

Quelles sont les méthodes courantes de php json

L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 7.1, ordinateur DELL G3

php méthodes courantes json :

1, json_encode()

PHP json_encode() est utilisé JSON encode la variable Si la fonction est exécutée avec succès, elle renvoie les données JSON, sinon elle renvoie FALSE.

Syntaxe

string json_encode ( $value [, $options = 0 ] )

Exemple :

<?php
   $arr = array(&#39;a&#39; => 1, &#39;b&#39; => 2, &#39;c&#39; => 3, &#39;d&#39; => 4, &#39;e&#39; => 5);
   echo json_encode($arr);
?>

Résultat de sortie :

{"a":1,"b":2,"c":3,"d":4,"e":5}

2, la fonction json_encode()

json_decode() est utilisée pour décoder les chaînes au format JSON et les convertir en variables PHP.

Syntaxe :

mixed json_decode ($json_string [,$assoc = false [, $depth = 512 [, $options = 0 ]]])

Paramètres :

  • json_string : chaîne JSON à décoder, doit être une donnée codée en UTF-8

  • assoc : Lorsque ce paramètre est TRUE, un tableau sera renvoyé, et lorsqu'il est FALSE, un objet sera restitué.

  • profondeur : paramètre de type entier, qui précise la profondeur de récursion

  • options : masque binaire, actuellement seul JSON_BIGINT_AS_STRING est supporté.

Exemple :

Résultat de sortie :

object(stdClass)#1 (5) {
    ["a"] => int(1)
    ["b"] => int(2)
    ["c"] => int(3)
    ["d"] => int(4)
    ["e"] => int(5)
}

array(5) {
    ["a"] => int(1)
    ["b"] => int(2)
    ["c"] => int(3)
    ["d"] => int(4)
    ["e"] => int(5)
}

3, json_last_error()

json_last_error - Renvoie la dernière erreur survenue

Syntaxe :

json_last_error()

If any, renvoie la dernière erreur survenue pendant Erreur d'encodage et de décodage JSON. Un entier sera renvoyé, et cette valeur sera l'une des constantes suivantes :

Aucune erreur ne s'est produiteJSON_ERROR_DEPTH
Code d'erreur JSON
constant signification disponibilité
JSON_ERROR_ AUCUN<code>JSON_ERROR_NONE 没有错误发生  
JSON_ERROR_DEPTH 到达了最大堆栈深度  
JSON_ERROR_STATE_MISMATCH 无效或异常的 JSON  
JSON_ERROR_CTRL_CHAR 控制字符错误,可能是编码不对  
JSON_ERROR_SYNTAX 语法错误  
JSON_ERROR_UTF8 异常的 UTF-8 字符,也许是因为不正确的编码。 PHP 5.3.3
JSON_ERROR_RECURSION One or more recursive references in the value to be encoded PHP 5.5.0
JSON_ERROR_INF_OR_NAN One or more       NAN       or INF       values in the value to be encoded PHP 5.5.0
JSON_ERROR_UNSUPPORTED_TYPE 指定的类型,值无法编码。 PHP 5.5.0
JSON_ERROR_INVALID_PROPERTY_NAME 指定的属性名无法编码。 PHP 7.0.0
JSON_ERROR_UTF16

Profondeur de pile maximale atteinte


JSON_ERROR_STATE_MISMATCH

🎜🎜JSON invalide ou inhabituel🎜 🎜🎜🎜🎜🎜JSON_ERROR_CTRL_CHAR🎜🎜🎜Erreur de caractère de contrôle, éventuellement mauvais encodage 🎜 🎜🎜🎜🎜🎜 json_error_syntax 🎜🎜🎜syntax error🎜 🎜🎜🎜🎜🎜 json_error_utf8 🎜🎜🎜Exceptional Caractères UTF-8, peut-être dus à un encodage incorrect. PHP 5.3.3 OR_INF_OR_NAN code>🎜🎜🎜Un ou plusieurs 🎜NAN🎜 ou 🎜INF🎜 valeurs dans la valeur à encoder🎜🎜PHP 5.5.0🎜🎜🎜🎜🎜JSON_ERROR_UNSUPPORTED_TYPE🎜🎜🎜Le type spécifié, la valeur ne peut pas être encodée. 🎜🎜PHP 5.5.0🎜🎜🎜🎜🎜JSON_ERROR_INVALID_PROPERTY_NAME🎜🎜🎜Le nom de propriété spécifié ne peut pas être encodé. 🎜🎜PHP 7.0.0🎜🎜🎜🎜🎜JSON_ERROR_UTF16🎜🎜🎜Caractères UTF-16 mal formés, peut-être parce que l'encodage des caractères est incorrect. 🎜🎜PHP 7.0.0🎜🎜🎜🎜🎜Exemple : 🎜
<?php
// 一个有效的 json 字符串
$json[] = &#39;{"Organization": "PHP Documentation Team"}&#39;;

// 一个无效的 json 字符串会导致一个语法错误,在这个例子里我们使用 &#39; 代替了 " 作为引号
$json[] = "{&#39;Organization&#39;: &#39;PHP Documentation Team&#39;}";


foreach ($json as $string) {
    echo &#39;Decoding: &#39; . $string;
    json_decode($string);

    switch (json_last_error()) {
        case JSON_ERROR_NONE:
            echo &#39; - No errors&#39;;
        break;
        case JSON_ERROR_DEPTH:
            echo &#39; - Maximum stack depth exceeded&#39;;
        break;
        case JSON_ERROR_STATE_MISMATCH:
            echo &#39; - Underflow or the modes mismatch&#39;;
        break;
        case JSON_ERROR_CTRL_CHAR:
            echo &#39; - Unexpected control character found&#39;;
        break;
        case JSON_ERROR_SYNTAX:
            echo &#39; - Syntax error, malformed JSON&#39;;
        break;
        case JSON_ERROR_UTF8:
            echo &#39; - Malformed UTF-8 characters, possibly incorrectly encoded&#39;;
        break;
        default:
            echo &#39; - Unknown error&#39;;
        break;
    }

    echo PHP_EOL;
}
?>
🎜Résultat de sortie : 🎜🎜
Decoding: {"Organization": "PHP Documentation Team"} - No errors
Decoding: {&#39;Organization&#39;: &#39;PHP Documentation Team&#39;} - Syntax error, malformed JSON
🎜Apprentissage recommandé : "🎜Tutoriel vidéo PHP🎜"🎜

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