En PHP, la fonction intégrée json_decode() est définie comme une fonction ; comme son nom l'indique, il s'agit d'une fonction de conversion de n'importe quel objet JSON au format texte standard ou de décodage d'objets JSON en objets PHP, en prenant une chaîne JSON comme paramètre que cette fonction la convertit ou la décode et renvoie les valeurs codées qui étaient en JSON dans des objets PHP appropriés. Le PHP fournit généralement une fonction qui prend une chaîne JSON qui représente généralement un tableau javascript ou des littéraux d'objet pour convertir cette chaîne codée au format JSON en un type de données d'objet PHP particulier.
Commencez votre cours de développement de logiciels libres
Développement Web, langages de programmation, tests de logiciels et autres
Dans cet article, json_decode() est une fonction intégrée fournie par PHP pour convertir ou décoder la chaîne JSON en objets PHP. En PHP, la fonction json_decode()
décode une chaîne JSON et la convertit en objets ou types de données PHP. Il prend les données JSON comme paramètre et renvoie la représentation PHP correspondante.
Dans la section ci-dessous, nous verrons la syntaxe et des exemples d'utilisation de la fonction json_decode() :
Syntaxe :
json_decode(json_string, asso_arr, recur_depth, opt<em>)</em>
Paramètres :
Json_string : ce paramètre est obligatoire pour spécifier la chaîne encodée en JSON pour la convertir en objets PHP
Voyons maintenant un exemple simple qui utilise json_decode() de PHP dans une structure HTML.
Voici les exemples donnés ci-dessous :
Code :
<!DOCTYPE html> <html lang="en"> <head> <title>Educba- PHP json_decode</title> </head> <body> <?php $json_string = '{ "CompayName": "Educba", "Director": "Snehal", "Employee": "Amardeep", "address": { "ColonyName": "Shivaji road", "city": "Baramati", "state": "Maharashtra", "postalCode": "1234567" }, "TelephoneNumbers": [ { "type": "Work", "phonenumber": "9876543210" } ] }'; var_dump(json_decode($json_string, true)); ?> </body> </html>
Sortie :
Dans le programme ci-dessus, nous pouvons voir quand nous écrivons du code PHP dans une structure HTML ; nous commençons par « < ?php », puis nous écrivons le code, et à la fin, la balise de fermeture du code PHP est « ? > ». Il a un tableau (5), ce qui signifie qu'il a 5 éléments dans un tableau. Supposons que nous n'ayons rien défini ou que nous n'ayons pas transmis le paramètre asso_arr tel que « var_dump(json_decode($json_string)); » alors cette valeur nous donnerait accès à la propriété de l'objet dans un tableau comme indiqué dans la capture d'écran ci-dessous.
Nous allons maintenant voir un exemple ci-dessous : un format JSON invalide et transmettre cette chaîne à la fonction json_decode() et quelle erreur et résultat cela donnera. Nous verrons également comment imprimer ces tableaux, accessibles à l'aide de la fonction « echo » dans la section ci-dessous.
Dans le programme ci-dessous, nous verrons comment accéder à un élément d'un tableau à l'aide de la fonction echo.
Code :
<!DOCTYPE html> <html lang="en"> <head> <title>Educba- PHP json_decode</title> </head> <body> <?php $json_string = '[ { "Companyname": "Educba", "Director": "Snehal", "phnumber": "89945954874" }, { "Companyname": "Google", "Director": "Ann", "phnumber": "9877564694" } ]'; $x = json_decode($json_string); echo $x[0]->Companyname; ?> </body> </html>
Sortie :
Dans le programme ci-dessus, nous pouvons voir quand nous avons déclaré une json_string et accédé à l'un des éléments du tableau ; nous utilisons array[index] dans n'importe quel langage de programmation. de même, nous l'écrivons avec la fonction echo, et dans le code ci-dessus, nous devons observer que nous n'avons pas passé le paramètre asso_arr dans la fonction json_decode(), donc pour accéder à l'élément, nous devons écrire « echo $x[ 0]-> Nom de l'entreprise;" et si nous définissons le deuxième paramètre sur "true" alors nous devons écrire "echo $x[0]['Companyname'];".
Dans ce qui suit, nous verrons passer une chaîne JSON invalide à la fonction et essayerons également d'imprimer les erreurs.
Code :
<!DOCTYPE html> <html lang="en"> <head> <title>Educba- PHP json_decode</title> </head> <body> <?php $json_string = '[ { "Companyname": "Educba" "Director": "Snehal" "phnumber": "89945954874" "Companyname": "Google" "Director": "Ann" "phnumber": "9877564694" } ]'; $x = json_decode($json_string); echo $x[0]->Companyname; echo json_last_error(); echo json_last_error_msg(); ?> </body> </html>
Sortie :
Nous imprimons les informations d'erreur, telles que « 4 erreurs de syntaxe », en utilisant les fonctions json_last_error() et json_last_error_msg(). Ces fonctions fournissent des détails sur les erreurs liées au code PHP écrit dans l'exemple ci-dessus. Si nous ne voulons imprimer aucun message d'erreur à l'aide des fonctions d'erreur, la sortie sera « nulle », indiquant que les objets PHP convertis ou les données JSON elles-mêmes ne sont pas valides.
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!