Bonjour,

Je n'en peux plus, j'ai passé une journée à trouver la solution à mon problème, je n'ai pas réussi.

Voilà le topo : J'essaie de lire un flux JSON, mais j'ai une "erreur de syntaxe". Pourtant le JSON créé est bon :

FICHIER TOUT BÊTE : JSON.PHP
<?php header('Content-Type: application/json; charset=utf-8'); $tab = array ( "nom" => "toto" , "prenom" => "tata" ); exit(json_encode($tab)); ?>

SI je consulte le fichier dans mon navigateur, j'obtiens bien :
{"nom":"toto","prenom":"tata"}

FICHIER TEST.PHP :
<? $fluxjson = file_get_contents('json.php'); $tabFlux = json_decode($fluxjson, true); var_dump($tabFlux); *//La valeur json_decode me retourne NULL.* echo json_last_error_msg(); *// La j'obtiens le message : Erreur Syntaxe* ?>

Pourtant ce qui est étonnant, c'est que quand je remplace la variable $fluxjson par :
$fluxjson = '{"nom":"toto","prenom":"tata"}';

La j'obtiens bien le résultat sous forme de tableau.

J'ai parcouru des tas de forum, aucune solution n'a marché, y compris en utilisant UTF8_ENCODE

Car apparemment, il s'agit bien d'un problème de lecture de format

Help me please !!!!

6 réponses


Huggy
Réponse acceptée

Lire le fichier json.php n'a pas de sens
il faut appeler son url

$fluxjson = file_get_contents('http://xxxxx/json.php');

Salut,

Pourrais-tu editer ton sujet afin de formater correctement ton code ? En l'état ce n'est pas lisible.
Merci :)

Je ne sais pas le faire

Peux-tu m'aider sinon ?

Ben je suis en local et c'est un code test que je vais appliquer par la suite dans mon projet.

Les 2 fichiers sont dans le même répertoire.
Je les ai même testés en ligne.

Même résultat.

Ca a une importance ?

Ohhh génial ! Ca marche Huggy ! J'ai ajouté un chemin local en http.
Tu es trop fort.

C'est quand même étonnant. On est donc obligé d'insérer à chaque fois une URL en php ?

Merci beaucoup