Maison >développement back-end >Problème PHP >Convertir json en tableau d'objets php
Dans le processus de développement d'une application Web, il est souvent nécessaire de traiter des données. Le simple traitement des chaînes ne suffit pas. La conversion des données entre différents langages de programmation est généralement nécessaire. En PHP, nous devons convertir la chaîne JSON en tableau d'objets. Voici une introduction sur la façon de convertir JSON en un tableau d'objets PHP.
JSON (JavaScript Object Notation) est un format d'échange de données léger, facile à lire et à écrire, ainsi qu'à analyser et à générer par les machines. JSON se compose de types de données de base, dont les plus courants incluent : des chaînes, des nombres, des tableaux, des valeurs booléennes, des objets et des valeurs nulles. JSON est devenu un format standard de transfert de données entre clients et serveurs.
PHP possède des fonctions de traitement JSON intégrées qui peuvent facilement convertir des chaînes JSON en tableaux ou en objets. La fonction la plus couramment utilisée en PHP est la fonction json_decode(). Cette fonction convertit une chaîne JSON en variable PHP (tableau ou objet). La fonction json_decode() prend deux paramètres : la chaîne JSON à convertir et le type de données renvoyé (la valeur par défaut est objet). Voici un exemple simple :
$json_string = '{"name":"John","age":30,"city":"New York"}'; $obj = json_decode($json_string); print_r($obj);
Sortie :
stdClass Object ( [name] => John [age] => 30 [city] => New York )
Par défaut, la fonction json_decode() renvoie un objet. Nous pouvons également le modifier pour renvoyer un tableau :
$json_string = '{"name":"John","age":30,"city":"New York"}'; $arr = json_decode($json_string, true); print_r($arr);
Sortie :
Array ( [name] => John [age] => 30 [city] => New York )
Dans l'exemple ci-dessus, nous avons utilisé le deuxième paramètre pour spécifier le type de retour sous forme de tableau. Cette fonction suit des règles plus complexes lors de l'analyse des chaînes JSON. Vous pouvez consulter la documentation officielle pour plus de détails.
Si vous souhaitez traiter une chaîne JSON contenant plusieurs objets JSON, vous pouvez ajouter un paramètre supplémentaire JSON_BIGINT_AS_STRING lors de l'appel de la fonction json_decode(). Cela garantira que le gestionnaire ne convertit pas les grandes valeurs numériques de la chaîne JSON en nombres à virgule flottante. Ceci est particulièrement utile lors du traitement des événements de journal contenant un ou plusieurs CUIDS (ID client), car ces ID doivent rester uniques.
Voici un exemple :
$json_string = '[{"name":"John","age":30,"city":"New York"},{"name":"Mike","age":35,"city":"Chicago"}]'; $arr = json_decode($json_string, true, 512, JSON_BIGINT_AS_STRING); print_r($arr);
Sortie :
Array ( [0] => Array ( [name] => John [age] => 30 [city] => New York ) [1] => Array ( [name] => Mike [age] => 35 [city] => Chicago ) )
Dans l'exemple ci-dessus, nous avons passé le paramètre JSON_BIGINT_AS_STRING car nous savons qu'il peut y avoir de grands entiers dans notre chaîne JSON. Il est important de gérer cette situation et de s'assurer que ces nombres ne sont pas convertis en nombres à virgule flottante.
JSON est un format très courant dans le transfert de données front-end et back-end, il est donc très important d'apprendre à gérer JSON. En PHP, nous pouvons facilement convertir une chaîne JSON en un tableau d'objets à l'aide de la fonction json_decode() intégrée. Si vous pouvez utiliser cette fonction et les paramètres associés de manière appropriée, vous pouvez facilement gérer les données JSON en PHP et traiter les données rapidement, efficacement et en toute sécurité.
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!