Maison > développement back-end > Problème PHP > Comment convertir un objet json en objet tableau de chaînes en php

Comment convertir un objet json en objet tableau de chaînes en php

PHPz
Libérer: 2023-04-18 10:00:02
original
522 Les gens l'ont consulté

En PHP, la fonction json_decode peut analyser une chaîne JSON en un objet ou un tableau en PHP, tandis que la fonction json_encode peut convertir un objet ou un tableau PHP en une chaîne JSON. Mais parfois, nous devons convertir des objets JSON en objets de tableau de chaînes, que devons-nous faire ?

Supposons que notre chaîne JSON ressemble à ceci :

{
    "name": "Tom",
    "age": 18,
    "hobbies": ["reading", "running", "swimming"]
}
Copier après la connexion

Nous pouvons la convertir en un objet tableau de chaînes en utilisant le code PHP suivant :

$json = '{"name":"Tom","age":18,"hobbies":["reading","running","swimming"]}';
$data = json_decode($json, true);

$keys = array_keys($data);
$values = array_values($data);

$str_arr = [];
for ($i = 0; $i < count($keys); $i++) {
    if (is_array($values[$i])) {
        $str_arr[$keys[$i]] = json_encode($values[$i]);
    } else {
        $str_arr[$keys[$i]] = (string) $values[$i];
    }
}

var_dump($str_arr);
Copier après la connexion

Tout d'abord, nous transmettons la chaîne JSON à la fonction json_decode et deuxièmement, définir ce paramètre sur true signifie convertir le JSON analysé en un tableau associatif.

Ensuite, nous utilisons la fonction array_keys pour obtenir les noms de clés du tableau associatif, et la fonction array_values ​​​​pour obtenir les valeurs du tableau associatif.

Ensuite, nous parcourons tous les noms de clés et valeurs via la boucle for et déterminons si la valeur est un tableau. Si la valeur est un tableau, nous utiliserons la fonction json_encode pour la convertir en chaîne JSON ; si ce n'est pas un tableau, nous utiliserons un cast pour la convertir en chaîne.

Enfin, nous utilisons le nom de la clé comme clé et la chaîne comme valeur pour construire un nouveau tableau associatif. En utilisant la fonction var_dump pour afficher les résultats, vous pouvez obtenir le résultat suivant :

array(3) {
  ["name"]=>
  string(3) "Tom"
  ["age"]=>
  string(2) "18"
  ["hobbies"]=>
  string(28) "["reading","running","swimming"]"
}
Copier après la connexion

Comme vous pouvez le voir, nous avons réussi à convertir l'objet JSON en un objet tableau de chaînes. Parmi eux, l'étape clé consiste à utiliser la fonction json_encode pour convertir le tableau en chaîne JSON.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal