Maison  >  Article  >  développement back-end  >  Comment convertir un tableau en données JSON en php

Comment convertir un tableau en données JSON en php

PHPz
PHPzoriginal
2023-04-26 14:35:29751parcourir

PHP est un langage de script côté serveur largement utilisé, couramment utilisé dans le développement de sites Web, la génération de pages Web dynamiques et le développement d'applications Web. Dans le développement de nombreuses applications, la transmission de données joue un rôle très important et JSON est un format d'échange de données léger qui est largement utilisé en raison de sa simplicité, de sa facilité d'utilisation et de son évolutivité. En PHP, nous pouvons utiliser des fonctions intégrées pour convertir des tableaux au format JSON.

  1. fonction json_encode()

la fonction json_encode() est la méthode la plus basique en PHP pour convertir un tableau au format JSON. En tant que fonction intégrée, son utilisation est très simple. Il vous suffit de transmettre le tableau à convertir en paramètre. Par exemple, nous avons le tableau suivant :

$data = array(
    'name' => 'John',
    'age' => 20,
    'gender' => 'male'
);

Nous pouvons utiliser le code suivant pour convertir le tableau au format JSON :

$json_data = json_encode($data);

Après la conversion, $json_data ressemblera à ceci Une chaîne JSON :

{
    "name": "John",
    "age": 20,
    "gender": "male"
}

Il convient de noter que la fonction json_encode() échappera les caractères non-ASCII en codage Unicode par défaut. Si vous devez générer une chaîne JSON codée en ASCII, vous devez le faire. ajoutez-le dans la fonction Ajoutez le paramètre JSON_UNESCAPED_UNICODE.

$json_data = json_encode($data, JSON_UNESCAPED_UNICODE);
  1. Supporte la fonction json_encode() de JSONP

Dans certains cas, nous devons obtenir des données JSON via des méthodes inter-domaines, et JSONP It est un format de données JSON qui autorise les requêtes inter-domaines. En PHP, nous pouvons utiliser la fonction json_encode() pour générer des données JSON prenant en charge JSONP. Pour les données JSON prenant en charge JSONP, le nom de la fonction de rappel doit être transmis comme deuxième paramètre de la fonction json_encode(). Par exemple :

$data = array(
    'name' => 'John',
    'age' => 20,
    'gender' => 'male'
);
$callback = $_GET['callback'];
$json_data = json_encode($data);
echo $callback . '(' . $json_data . ')';

Ce code générera des données au format suivant :

callback_name({
    "name": "John",
    "age": 20,
    "gender": "male"
})

Lorsque nous demanderons les données JSON à l'aide de méthodes inter-domaines, le nom de la fonction de rappel sera dans les données de réponse sont appelées.

  1. fonction json_decode()

la fonction json_decode() est une fonction qui convertit les données au format JSON en un tableau PHP. Contrairement à la fonction json_encode(), json_decode() nécessite deux paramètres : une chaîne JSON et un paramètre facultatif $assoc. Lorsque $assoc est vrai, la fonction convertira la chaîne JSON en tableau associatif PHP, sinon elle sera convertie en objet PHP. Par exemple :

$json_data = '{
    "name": "John",
    "age": 20,
    "gender": "male"
}';
$data = json_decode($json_data, true);
var_dump($data);

Après la conversion, $data sera un tableau au format suivant :

array(3) {
  ["name"]=>
  string(4) "John"
  ["age"]=>
  int(20)
  ["gender"]=>
  string(4) "male"
}

Il est à noter que si la chaîne JSON n'est pas conforme au JSON format ou l'encodage est Erreur, la fonction json_decode() renverra une valeur nulle.

Enfin, il convient de souligner que bien que les fonctions json_encode() et json_decode() fournissent des méthodes pratiques pour convertir des tableaux et des données au format JSON en PHP, vous devez également faire attention aux problèmes de sécurité des données. Lors de la transmission des données, celles-ci doivent être filtrées et vérifiées en toute sécurité pour éviter les attaques malveillantes et les fuites de données.

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