Double Possible:
Impression de JSON avec PHPJe travaille sur un script qui crée un fichier JSON. Droit maintenant, je suis juste en utilisant json_encode (php 5.2.x) pour coder un tableau en sortie json. Puis-je imprimer la valeur retournée pour un fichier et l'enregistrer. Le problème est que le client veut pouvoir ouvrir ces fichiers JSON pour des raisons de lisibilité. Donc je voudrais ajouter des sauts de ligne dans et "pretty print" la sortie json. Des idées sur comment faire cela? Ma seule autre solution que je vois c'est de ne pas utiliser json_encode à tous et tout simplement écrire le contenu du fichier manuellement et ajouter dans mes sauts de ligne pour chaque ligne. Merci.
Voici ce que j'obtiens:
{"product_name":"prod1","val1":1,"val2":8}
Voici ce que je veux:
{ "product_name":"prod1", "val1":1, "val2":8 }
Je suppose que je pourrais aussi il suffit de remplacer chaque virgule, avec une commande suivie par un \n, et de même pour les supports... les Pensées?
- Impression JSON avec PHP (5 réponses )
Réponses
Trop de publicités?PHP dispose de l'option JSON_PRETTY_PRINT depuis la version 5.4.0 (date de sortie 01-mars-2012).
Cela devrait faire le travail:
$json = json_decode($string);
echo json_encode($json, JSON_PRETTY_PRINT);
Voir http://www.php.net/manual/en/function.json-encode.php
Remarque: n'oubliez pas de renvoyer "<pre>" avant et </ pre> après, si vous l'imprimez en HTML;)
Hmmm $array = json_decode($json, true);
fera de votre chaîne un tableau facile à imprimer avec print_r($array, true);
Mais si vous voulez vraiment embellir votre json ... Regardez ça
Voici une fonction pour mettre en valeur votre json: pretty_json
Et pour PHP 5.3, vous pouvez utiliser cette fonction, qui peut être intégrée à une classe ou utilisée dans un style procédural:
http://svn.kd2.org/svn/misc/libs/tools/json_readable_encode.php