La fonction json_decode() retourne NULL??

Résolu/Fermé
stgcici Messages postés 51 Date d'inscription mardi 29 octobre 2013 Statut Membre Dernière intervention 18 février 2014 - 29 nov. 2013 à 12:15
jacksoni Messages postés 1 Date d'inscription vendredi 16 décembre 2016 Statut Membre Dernière intervention 16 décembre 2016 - 16 déc. 2016 à 15:32
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!!
A voir également:

4 réponses

Utilisateur anonyme
29 nov. 2013 à 14:04
Bonjour

As-tu essayé de valider ton fichier JSON avec http://www.jsoneditoronline.org/ ?
Tu verrais qu'il manque un { au début.
2
stgcici Messages postés 51 Date d'inscription mardi 29 octobre 2013 Statut Membre Dernière intervention 18 février 2014 1
29 nov. 2013 à 14:36
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.
0
Utilisateur anonyme
29 nov. 2013 à 14:51
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 ?
1
Utilisateur anonyme
29 nov. 2013 à 14:54
Je viens d'essayer ton script et tes données chez moi, ça marche bien
0
stgcici Messages postés 51 Date d'inscription mardi 29 octobre 2013 Statut Membre Dernière intervention 18 février 2014 1
29 nov. 2013 à 17:08
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.
0
stgcici Messages postés 51 Date d'inscription mardi 29 octobre 2013 Statut Membre Dernière intervention 18 février 2014 1
29 nov. 2013 à 18:03
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
0
Utilisateur anonyme
29 nov. 2013 à 21:04
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);
?>
1
stgcici Messages postés 51 Date d'inscription mardi 29 octobre 2013 Statut Membre Dernière intervention 18 février 2014 1
30 nov. 2013 à 11:53
Bonjour,
Grâce a tes conseils j'ai pu résoudre le problème.
Merci beaucoup
0
jacksoni Messages postés 1 Date d'inscription vendredi 16 décembre 2016 Statut Membre Dernière intervention 16 décembre 2016
16 déc. 2016 à 15:32
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/
0