PHPJSON

Qu'est-ce que JSON ?

· JSON fait référence à la notation d'objet JavaScript (JavaScript Object Notation)

· JSON est un format d'échange de données texte léger

· JSON est indépendant du langage *

· JSON est auto-descriptif et plus facile à comprendre

* JSON utilise la syntaxe JavaScript pour décrire les objets de données, mais JSON est toujours indépendant du langage et de la plate-forme. Les analyseurs JSON et les bibliothèques JSON prennent en charge de nombreux langages de programmation différents.


La configuration de l'environnement

a été intégrée dans php5.2.0 et supérieur.

Fonction JSON

 
     函数      描述
   json_encode对变量进行 JSON 编码
   json_decode对 JSON 格式的字符串进行解码,转换为 PHP 变量
   json_last_error返回最后发生的错误
<🎜>Fonction< 🎜><🎜>
<🎜>< 🎜>Description<🎜><🎜>
json_encodeOui Les variables sont codées en JSON
json_decodePour les chaînes au format JSON Décoder et convertir en variables PHP
json_last_errorRetour à la dernière occurrence Erreur


json_encode

json_encode() est utilisé pour encoder des variables JSON. Cette fonction renvoie des données JSON si elle est exécutée avec succès, sinon elle renvoie FALSE.

Syntaxe

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

Paramètre

· valeur : La valeur à encoder. Cette fonction n'est valable que pour les données codées en UTF-8.

· options : Masque binaire composé des constantes suivantes : JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_NUMERIC_CHECK, JSON_PRETTY_PRINT,

JSON_UNESCAPED_SLASHES, JSON_FORCE_OBJECT

· Puisque json n'accepte que UTF -8 caractères codés, donc les paramètres de json_encode() doivent être codés en UTF-8, sinon vous obtiendrez des caractères vides ou nuls. Une attention particulière doit être accordée à cela lorsque le chinois utilise le codage GB2312 ou que les langues étrangères utilisent le codage ISO-8859-1.

Exemple


L'exemple suivant démontre Comment convertir un tableau PHP en données au format JSON :

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

Résultat de l'exécution du programme :

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


L'exemple suivant montre comment convertir des objets PHP en données au format JSON

<?php
 class Emp {
     public $name = "";
     public $hobbies  = "";
     public $birthdate = "";
 }
 $e = new Emp();
 $e->name = "sachin";
 $e->hobbies  = "sports";
 $e->birthdate = date('Y-m-d h:i:s a', "2016/9/19 12:20:03 p");
 $e->birthdate = date('Y-m-d h:i:s a', strtotime("2016/9/19 12:20:03"));
 
 echo json_encode($e);
 ?>

Résultats de l'exécution du programme :

{"name": "sachin", "loisirs": "sports", "date de naissance": "2016-09-19 12:20:03 pm"} $json [,$assoc = false [, $profondeur = 512 [, $options = 0 ]]]


json_decode

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

Syntaxe

json_decode ($json [,$assoc = false [, $profondeur = 512 [, $ options = 0 ]]])

Paramètres

· json_string : à décoder Chaîne JSON, doit être des données codées en UTF-8

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

· profondeur : paramètre de type entier, qui spécifie la profondeur de récursion

· options : masque binaire, actuellement seul JSON_BIGINT_AS_STRING est pris en charge.


json_decode() erreur courante

Les trois façons suivantes d'écrire json sont toutes fausses. Pouvez-vous voir où se trouve l'erreur ?

$bad_json = "{ 'bar' : 'baz' }";
$bad_json = '{ bar : "baz" }';

$bad_json = '{ "bar": "baz", }';

L'exécution de json_decode() sur ces trois chaînes renverra null et signalera une erreur.

La première erreur est que le délimiteur json autorise uniquement l'utilisation de guillemets doubles, pas de guillemets simples.

La deuxième erreur est que le "nom" (la partie à gauche des deux points) de la paire nom-valeur json doit dans tous les cas utiliser des guillemets doubles.

La troisième erreur est que vous ne pouvez pas ajouter une virgule après la dernière valeur.

De plus, json ne peut être utilisé que pour représenter des objets et des tableaux. Si json_decode() est utilisé sur une chaîne ou une valeur, null sera renvoyé.


Exemple

L'exemple suivant démontre Comment décoder les données JSON :

<?php
 $json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
 
 var_dump(json_decode($json));
 var_dump(json_decode($json, true));
 ?>

Résultat de l'exécution du programme :

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



Formation continue
||
<?php $arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5); echo json_encode($arr); ?>
soumettreRéinitialiser le code
  • Recommandations de cours
  • Téléchargement du didacticiel