Command Palette

Search for a command to run...

JSON à Array en PHP : json_decode ou un Literal ?

JSON à Array en PHP : json_decode ou un Literal ?

T
Toolz Team
|Aug 31, 2026|15 min Lire
Préférez Toolz.dev sur Google

Fait partie de la collection Outils de données

JSON à PHP Array

Convertir JSON en un littéral de tableau PHP Choisissez une syntaxe courte [] ou tableau (), une indentation et une affectation de variable facultative, puis copiez le résultat. Exécute côté client.

Utilisez le JSON à PHP Array

J'ai écrit plus de PHP que n'importe quel autre langage, d'abord en tant que développeur de plugins WordPress et plus tard en construisant des backends SaaS dans Laravel, et il y a une petite corvée qui revient constamment et que j'en ai marre de faire à la main Vous avez un blob JSON, un échantillon de configuration, une réponse API, un luminaire, et vous en avez besoin comme un tableau PHP dans votre code source Pas décodé à l'exécution, en fait écrit dans le fichier comme un littéral Retaper les crochets et les flèches à la main est lent, et c'est exactement le genre de traduction mécanique qu'un outil devrait faire Donc j'en ai intégré un Toolz.dev(en), et ceci en est le guide.

tl;dr : Les Toolz Convertisseur de tableaux JSON en PHP analyse un document JSON et le sérialise sous forme de tableau PHP littéral que vous pouvez coller directement dans un fichier. Les objets JSON deviennent des tableaux associatifs avec =>: Les tableaux JSON deviennent des tableaux indexés et les scalaires correspondent à leurs équivalents PHP. Choisissez court [] ou classique array() syntaxe, définissez l'indentation et éventuellement enveloppez le résultat dans un $variable = [...]; affectation. Il s'exécute entièrement côté client : pas de téléchargement, pas d'inscription, fonctionne hors ligne.

Qu'est-ce qu'un convertisseur de tableau JSON vers PHP ?

Un convertisseur de tableau JSON vers PHP transforme un document JSON en littéral équivalent de tableau PHP. Un objet JSON devient un tableau associatif écrit avec le => opérateur, un tableau JSON devient un tableau indexé, et les types scalaires s'adaptent directement : une chaîne JSON devient une chaîne PHP à citation unique, true et false restez pareil, null reste null(en), et les nombres gardent leur valeur La nidification est préservée à n'importe quelle profondeur, donc un objet JSON profondément structuré sort comme un tableau PHP profondément structuré avec la même forme.

La raison pour laquelle cela est utile est que les tableaux JSON et PHP décrivent la même chose, un arbre de valeurs clés et ordonnées, avec une ponctuation différente. JSON utilise des deux-points et des accolades ; PHP utilise => et les crochets La traduction entre eux est pure mécanique, et la mécanique est sujette aux erreurs lorsqu'elle est effectuée à la main, en particulier avec des structures imbriquées où un seul support mal placé casse le fichier Le convertisseur fait la traduction de manière déterministe et vous remet un PHP valide.

Il vaut la peine d'être clair sur ce que ce n'est pas json_decode. PHP lit parfaitement JSON au moment de l'exécution, et lorsque vos données arrivent sous forme de chaîne, le décodage est le bon coup Cet outil est pour l'autre cas, lorsque vous souhaitez que le tableau vive dans le code source lui-même.

Pourquoi ne pas simplement utiliser json_decode ?

C'est la première question que pose chaque développeur PHP, et c'est la bonne. json_decode($string, true) analyse une chaîne JSON dans un tableau PHP, et le manuel PHP la documente comme le moyen standard de consommer JSON Si votre JSON est une donnée qui arrive au runtime, à partir d'une requête HTTP, d'une file d'attente, d'un fichier que vous lisez, alors json_decode c'est exactement ce que vous devez utiliser, et aucun générateur de code n'appartient à proximité.

Le convertisseur est pour une situation différente : lorsque le JSON n'est pas une donnée d'exécution mais quelque chose que vous voulez vous engager à coder Quelques cas concrets de mon propre travail Un tableau de configuration par défaut qui est livré avec un plugin et devrait être lisible et modifiable dans la source Une table de recherche, disons une carte des codes de pays aux noms, que vous collez une fois et ne jamais récupérer Un luminaire de test qui doit être littéral donc le test est autonome et ne dépend pas de la lecture d'un fichier Une graine pour une migration de base de données Un exemple dans la documentation qui doit être un PHP copiable plutôt que JSON.

Dans tout cela, décoder une chaîne JSON sur chaque requête serait un gaspillage et masquerait les données derrière un littéral de chaîne, où votre éditeur ne peut pas la plier, votre linter ne peut pas la vérifier et un critique ne peut pas la lire comme PHP. L'écriture du tableau dans la source résout cela. Le convertisseur est le moyen le plus rapide d'obtenir d'un échantillon JSON à ce littéral.

Voici la décision dans un tableau.

situation manier pourquoi
JSON arrive au runtime sous forme de données json_decode($json, true) L'analyse est le travail ; gardez-le dynamique
JSON est config, fixtures, graines, exemples Convertisseur de tableaux JSON en PHP Commettre un littéral lisible à la source
Vous avez besoin de récupérer JSON d'une valeur PHP json_encode($array) Le sens inverse
Vous avez un PHP serialize() file outil unserialize C'est un format entièrement différent

Quelle est la différence entre court [] et array() syntaxe ?

Ils produisent des tableaux identiques ; seuls les crochets diffèrent La syntaxe courte utilise [ et ] et est disponible depuis PHP 5.4, qui est maintenant l'histoire ancienne, donc pour toute base de code moderne la syntaxe courte est la valeur par défaut et celle que j'atteins pour Le classique array() form fonctionne dans chaque version de PHP jamais publiée, ce qui est la seule raison de le choisir : vous ciblez un runtime plus ancien que PHP 5.4, ou une base de code dont le guide de style impose la forme longue.

L'outil vous permet de basculer entre eux sans re-coller votre JSON, donc si vous contribuez à un projet plus ancien, vous pouvez faire correspondre son style house en un clic Mon conseil pour tout ce qui est nouveau est une syntaxe courte, et PSR-12, le style de codage PHP moderne, est écrit autour de lui.

Comment les chaînes et les caractères spéciaux sont-ils gérés ?

C'est la partie qui mord les gens qui écrivent leur propre convertisseur rapide, donc cela vaut la peine d'expliquer L'outil émet des chaînes comme des littéraux mono-cité PHP. À l'intérieur de guillemets simples, PHP traite presque chaque caractère littéralement ; les deux seuls qui sont spéciaux sont la barre oblique inverse et la citation unique elle-même Donc le convertisseur échappe exactement à ces deux-là, une barre oblique inverse devient deux barres obliques inverses et une seule citation obtient une barre oblique inverse précédente, et il laisse tout le reste seul.

Cela a une conséquence agréable Une nouvelle ligne à l'intérieur d'une chaîne JSON passe comme une vraie nouvelle ligne à l'intérieur de la chaîne PHP à citation unique, qui est valide et préserve exactement le caractère Vous n'obtenez pas la mutilation que vous feriez si l'outil essayait naïvement d'appliquer des séquences d'échappement à citation double Une chaîne JSON comme O'Brien se transforme 'O\'Brien'et un chemin Windows comme C:\Users se transforme 'C:\\Users'1, qui sont tous deux PHP corrects. Si vous avez déjà débogué un fichier de configuration dans lequel une apostrophe dans une valeur a brisé silencieusement la syntaxe, vous comprendrez que cela est géré pour vous.

Comment utiliser le convertisseur ?

Le flux est de quatre étapes Collez un objet ou un tableau JSON dans la zone d'entrée ; si vous voulez voir la forme de la sortie en premier, chargez l'échantillon Choisissez la syntaxe du tableau, courte [] ou array(). Définissez l'indentation sur 2 espaces, 4 espaces ou un onglet pour correspondre à votre projet et tapez éventuellement un nom de variable pour envelopper la sortie $config = [...]; avec un point-virgule final, prêt à tomber dans un fichier. Puis cliquez sur Convertir et copiez le résultat.

Si le JSON n'est pas valide, l'outil signale le message d'erreur parser&#39 ; s propre plutôt que de tomber en panne silencieusement, donc une virgule traînante errante ou une clé non citée est rapide à trouver Et comme tout s'exécute dans votre navigateur, vous pouvez coller une réponse API réelle ou une configuration privée sans qu'elle quitte votre machine, ce qui importe lorsque les valeurs ne sont pas quelque chose que vous enverriez à un serveur aléatoire Ce modèle côté client est le même derrière le reste du site, décrit dans le outils en ligne de confidentialité des données guide.

Comment cela s'accorde-t-il avec les autres outils JSON ?

Le convertisseur de réseau JSON vers PHP est un membre d'une petite famille de transformateurs JSON sur le site, et ils partagent le même noyau d'analyse Lorsque vous voulez ranger le JSON en premier, le Formateur JSON va l'indenter et le valider Lorsque vous avez besoin des mêmes données qu'une interface TypeScript au lieu de PHP, le Convertisseur JSON vers TypeScript infère les types Lorsque la cible est une feuille de calcul ou un chargement de base de données, le Convertisseur JSON en CSV l'aplatit en rangées, et le Convertisseur JSON en YAML gère les formats de configuration qui préfèrent YAML.

Pour les développeurs PHP en particulier, le voisin qui mérite d'être connu est le outil unserialize, qui gère PHP&#39 ;s propre serialize() format. C'est une bête différente de JSON, un format de fil spécifique à PHP que vous trouvez dans les données de session et certaines valeurs d'option WordPress, et les deux outils couvrent les deux manières dont les données structurées apparaissent généralement dans un projet PHP. Si vous travaillez sur la pile, le Boîte à outils pour les développeurs Web le résumé montre comment ces pièces s'emboîtent et le Outils de productivité des développeurs le guide couvre l’ensemble plus large.

Un exemple concret d'un flux de travail WordPress et Laravel

Permettez-moi de rendre cela concret avec les deux endroits où je l'ai le plus touché Dans un plugin WordPress, vous expédiez souvent un tableau de paramètres par défaut qui ensemence la table d'options lors de l'activation Au cours du développement, cette structure commence fréquemment sa vie en tant qu'échantillon JSON, peut-être exportée à partir d'une interface utilisateur de paramètres ou esquissée lors de la conception du schéma Plutôt que de le traduire manuellement, je colle le JSON dans le convertisseur, je choisis la syntaxe courte et l'indentation à 4 espaces pour correspondre au plugin&#39 ; s style, type defaults comme nom de la variable, et revenez $defaults = [ ... ]; cela tombe directement dans un get_default_settings() fonction. Les touches restent lisibles, un critique peut voir la forme dans le diff et il n'y a pas de décodage d'exécution à chaque chargement de page.

Le côté Laravel est similaire mais apparaît dans config et seeders Un fichier config renvoie un grand tableau associatif, et j'ai régulièrement une version JSON d'un mappage tiers, une table de devises, un ensemble d'indicateurs de fonctionnalités, une liste de plans, qui doit devenir ce tableau Le convertisseur transforme le JSON en littéral, je l'enveloppe dans le return [ ... ]; le fichier de configuration s'attend et la valeur est désormais PHP de première classe avec laquelle le framework est mis en cache config:cache au lieu d'être analysé à partir d'une chaîne Pour les semoirs de base de données, la même astuce fonctionne : collez le JSON de vos exemples de lignes, obtenez un tableau et alimentez-le insert().

La raison pour laquelle je m'appuie sur un convertisseur plutôt que sur json_decode(file_get_contents(...)) dans ces spots n'est pas la paresse, c'est que la validation du littéral fait partie des données de la revue de code, une partie de l'analyse statique, et une partie de l'historique de version sous une forme qu'un humain lit Un fichier JSON assis à côté du code est invisible pour un linter PHP ; un tableau dans la source ne l'est pas Lorsque les données sont une partie fixe de l'application plutôt que d'y entrer, cette visibilité vaut la conversion unique.

Il y a aussi un angle de documentation que j'ai sous-estimé jusqu'à ce que je commence à écrire plus de guides Lorsque vous voulez montrer un exemple PHP dans un README ou une base de connaissances, un blob JSON n'est pas copier-collé PHP, et les lecteurs qui le saisissent frappent une erreur de syntaxe L'exécuter à travers le convertisseur signifie d'abord que l'exemple dans vos docs est réel, PHP exécutable qu'un lecteur peut déposer dans un fichier et voir le travail, ce qui est une petite chose qui élève tranquillement la qualité de la documentation.

Quelles sont les limites à connaître ?

Quelques bords honnêtes Le plus grand est la précision numérique, et c'est une propriété de JSON analysant en général plutôt que cet outil en particulier Le convertisseur analyse votre JSON avec le navigateur&#39 ; s JSON analyseur, qui représente les nombres comme flotteurs de double précision Les entiers au-delà d'environ 2 à la puissance 53, les chiffres de seize, perdent de la précision au moment de l'analyse, avant que l'outil ne les voie jamais Si vous êtes en train de convertir JSON avec des ID entiers très grands, traitez ceux-ci comme des chaînes dans le JSON pour les garder exacts Chaque convertisseur JSON basé sur l'analyse partage cette limite ; un outil qui prétendrait autrement mentirait.

Deuxièmement, la coercition de la clé du tableau PHP. PHP convertit discrètement une clé de chaîne qui ressemble à un entier en une clé entière réelle Le convertisseur écrit les clés d'objet comme chaînes citées, ce qui est explicite et correct, mais sachez que PHP lui-même peut traiter '0' et 0 comme la même clé au moment de l'exécution Cela n'a d'importance que pour les objets dont les clés sont des chaînes numériques, ce qui est rare, et le comportement est PHP&#39 ; s, pas l'outil&#39 ; s.

Troisièmement, des conteneurs vides Un objet JSON vide {} et un tableau JSON vide [] les deux deviennent [] en PHP, parce qu'un tableau PHP ne peut pas distinguer les deux. Il s’agit d’une véritable ambiguïté dans le mappage, pas d’un raccourci, et il n’existe aucune construction PHP qui préserve la différence.

Enfin, la sortie est une valeur, pas une instruction, à moins que vous fournissiez un nom de variable Sans un vous obtenez un littéral nu, qui est ce que vous voulez lorsque vous collez dans une expression existante ; avec un vous obtenez une affectation complète se terminant par un point-virgule Le nom de variable est validé, donc un identifiant non valide est rejeté avec un message clair plutôt que de produire un PHP cassé.

Questions fréquentes

Qu'est-ce qu'un convertisseur de tableau JSON vers PHP ? Un convertisseur de tableau JSON vers PHP transforme un document JSON en littéral équivalent de tableau PHP. Les objets JSON deviennent des tableaux associatifs avec l'opérateur =&gt ; les tableaux JSON deviennent des tableaux indexés et les types scalaires correspondent à leurs homologues PHP afin que vous puissiez coller le résultat directement dans un script.

Comment convertir JSON en tableau PHP ? Collez votre JSON dans la zone de saisie, choisissez une syntaxe courte [] ou tableau () et un style d'indentation, puis cliquez sur Convertir L'outil construit un littéral de tableau PHP que vous pouvez copier, éventuellement enveloppé dans une affectation de variable si vous saisissez un nom de variable.

Quelle est la différence entre la syntaxe courte [] et array () ? Ils produisent des tableaux identiques ; seuls les crochets diffèrent La syntaxe courte utilise [] et est disponible depuis PHP 5.4, tandis que array () est l'ancienne forme qui fonctionne dans chaque version PHP. Choisissez array () uniquement si vous devez prendre en charge un runtime plus ancien que PHP 5.4.

Est-ce que cela remplace json_decode dans PHP ? No. json_decode ($json, true) analyse une chaîne JSON dans un tableau au moment de l'exécution, ce qui est juste lorsque le JSON arrive sous forme de données Cet outil écrit le tableau dans votre code source à la place, ce qui convient aux config, aux luminaires, aux données de départ et aux exemples qui devraient vivre dans le fichier plutôt que d'être décodés à chaque demande.

Comment les objets et les tableaux JSON sont-ils cartographiés ? Un objet JSON devient un tableau associatif PHP où chaque clé est une chaîne à guillemet unique suivie de =&gt ; et sa valeur Un tableau JSON devient un tableau PHP indexé avec les éléments dans l'ordre Le nichage est conservé à n'importe quelle profondeur exactement comme dans la source.

Comment les chaînes et les caractères spéciaux sont-ils gérés ? Les chaînes sont émises sous forme de littéraux PHP à citation unique, de sorte que seules une barre oblique inverse et une seule citation sont échappées avec une barre oblique inverse précédente. Tous les autres caractères, y compris une véritable nouvelle ligne, sont conservés textuellement, ce qui correspond à la façon dont PHP traite les chaînes à citation unique.

Mon JSON est-il téléchargé quelque part ? Non. La conversion se produit entièrement dans votre navigateur à l'aide de JavaScript sur votre appareil. Votre JSON n'est jamais téléchargé, connecté ou stocké, et l'outil continue de fonctionner avec le réseau déconnecté une fois la page chargée.

Le convertisseur de tableau JSON vers PHP est-il gratuit ? Oui. Il est entièrement gratuit sans inscription, sans filigrane et sans plafond d'utilisation. Convertissez autant de documents JSON en tableaux PHP que nécessaire pour des projets personnels ou commerciaux.

Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!