La fonction json_decode() retourne NULL?? [Résolu/Fermé]

Signaler
Messages postés
51
Date d'inscription
mardi 29 octobre 2013
Statut
Membre
Dernière intervention
18 février 2014
-
Messages postés
1
Date d'inscription
vendredi 16 décembre 2016
Statut
Membre
Dernière intervention
16 décembre 2016
-
Bonjour,
J'ai un sérieux problème avec la fonction json_decode().
Il me retourne NULL quand je lui transmet mon fichier json.
Au faite il n'arrive pas à extraire le contenu du fichier json que je lui passe.
Je recupere le contenu du fichier json avec file_get_contents() et je l'affecte a une variable,ensuite je le passe à la fonction json_decode().

$data=file_get_contents("test.json");
$val=json_decode($data,true);
var_dump($val);// retourne Null


SOS aide s'il vous plait.
Voila mon fichier json:

"orders":[
{
"id_commande":44,
"date":"2013-11-26T10:30:00",
"status":"Waiting",
"customerName":"ok",
"delivery":"ok",
"deliveryCompanyName":"Mp",
"deliveryAddress":"Rennequin ",
"deliveryPostcode":"75",
"deliveryCity":"Paris",
"deliveryCountry":"France",
"billingName":"B S",
"billingCompanyName":"Mp",
"billingAddress":"Rennequin ",
"billingPostcode":"750",
"billingCity":"Paris",
"billingCountry":"France",
"products":[
{
"image":"products_no_image_Medium.jpg",
"title":"Bracelet",
"brand":"HIPANEMA",
"quantity":1.0,
"price":15,
"productId":24,
"offerId":13
}
],
"totalPrice":15,
"productsCount":1
},
{
"id_commande":4462,
"date":"2013-11-26T10:35:00",
"status":"Waiting",
"customerName":"BS",
"deliveryName":"B",
"deliveryCompanyName":"Mp",
"deliveryAddress":"ok",
"deliveryPostcode":"75",
"deliveryCity":"Paris",
"deliveryCountry":"France",
"billingName":"BS",
"billingCompanyName":"Mp",
"billingAddress":"ok ",
"billingPostcode":"75",
"billingCity":"Paris",
"billingCountry":"France",
"products":[
{
"image":"products_no_image_Medium.jpg",
"title":"Tropez",
"brand":"HIPA",
"quantity":2.0,
"price":15,
"productId":25,
"offerId":133522
}
],
"totalPrice":300,
"productsCount":2
}
],
"recordsReturned":2,
"totalRecords":2,
"startIndex":1,
"sort":0,
"pageIndex":1,
"pageSize":50
}

Je suis vraiment bloqué.
Aidez moi SVP!!

4 réponses


Bonjour

As-tu essayé de valider ton fichier JSON avec http://www.jsoneditoronline.org/ ?
Tu verrais qu'il manque un { au début.
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 63550 internautes nous ont dit merci ce mois-ci

Messages postés
51
Date d'inscription
mardi 29 octobre 2013
Statut
Membre
Dernière intervention
18 février 2014
1
Merci beaucoup pour ta réponse.
C'est en voulant copier le contenu du fichier json sur le forum que j'ai oublié l'accolade ouvrante.
Sinon j'ai eu à tester la structure de mon fichier json et il est correct.
Le même problème persiste.
J'obtiens toujours null!!!
J'ai même convertie la chaîne retournée par la fonction file_get_contents() en utf8 avec utf8_encode.
Toujours la même chose.

Question très bête, mais on ne sait jamais : as-tu fait un var_dump($data) pour t'assurer que ton fichier était bien lu ?
Utilisateur anonyme
Je viens d'essayer ton script et tes données chez moi, ça marche bien
Messages postés
51
Date d'inscription
mardi 29 octobre 2013
Statut
Membre
Dernière intervention
18 février 2014
1
oh oui.
Je fais un var_dump($data) et c'est ce qui donne Null comme résultat.
C'est vraiment bizarre.
Je ne sais pas ou se trouve mon erreur.
Messages postés
51
Date d'inscription
mardi 29 octobre 2013
Statut
Membre
Dernière intervention
18 février 2014
1
Salut,
Pardon j'aimerai savoir c'est quelle version de php tu utilise?
Parce que moi j'utilise la version 5.2.13.
Peut être que c'est un problème de version.
Merci

Je fais un var_dump($data) et c'est ce qui donne Null comme résultat.
C'est vraiment bizarre.

Ça n'a rien de bizarre du tout.
Si var_dump($data) te donne Null, c'est que ton fichier est mal lu : Json ne peut rien décoder puisqu'il n'y a rien.
La version de PHP n'y est pour rien
À 99,99%, tu te trompes dans le nom du fichier test.json (majuscules/minuscules ?) , ou il n'est pas dans le bon dossier, ou le contenu du fichier n'est pas celui que tu as indiqué.

Que t'affiche :
<?php
$fichier="test.json";
echo is_file($fichier) ? "existe" : "n'existe pas";
echo filesize($fichier);
?>
Messages postés
51
Date d'inscription
mardi 29 octobre 2013
Statut
Membre
Dernière intervention
18 février 2014
1
Bonjour,
Grâce a tes conseils j'ai pu résoudre le problème.
Merci beaucoup
Messages postés
1
Date d'inscription
vendredi 16 décembre 2016
Statut
Membre
Dernière intervention
16 décembre 2016

It is a very profitable post for me. I’ve enjoyed reading the post. It is very informative and useful post. I would like to visit the post once more its valuable content
http://jsonconverter.com/