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

stgcici 51 Messages postés mardi 29 octobre 2013Date d'inscription 18 février 2014 Dernière intervention - 28 nov. 2013 à 16:45 - Dernière réponse : stgcici 51 Messages postés mardi 29 octobre 2013Date d'inscription 18 février 2014 Dernière intervention
- 2 déc. 2013 à 13:20
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 récupère le contenu du fichier json à l'aide de la fonction file_get_contents("fichier.json") et j'affecte le résultat à une variable.

$data=file_get_contents("fichier.json");

$resultat=json_decode($data,true);

va_dump($resultat);// retourne NULL

Pourtant mon fichier json est bien structuré
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
}
Afficher la suite 

Votre réponse

3 réponses

f0xi 4304 Messages postés samedi 16 octobre 2004Date d'inscriptionModérateurStatut 9 mars 2018 Dernière intervention - 1 déc. 2013 à 02:49
0
Merci
$data=file_get_contents("fichier.json"); // <- doit etre UTF-8 SANS BOM pas de EOL/EOLN en fin de fichier

$resultat=json_decode($data); // <- sans TRUE on retourne la version objet (sinon quel intêréts d'utiliser JSON si c'est pour faire un tableau ... autant utiliser CSV sinon)

var_dump($resultat); // <- as tu plutot tenté ceci : var_dump($data);


<?php
$filename = 'fichier.json';

if(file_exists( $filename ))
{
  $content = file_get_contents( $filename );  
  $content = mb_convert_encoding($content, 'UTF-8', mb_detect_encoding($content, 'UTF-8, ISO-8859-1', true)); 
  $orders  = json_decode( $content );

  var_dump($content);
  var_dump($orders);
}
?>
Commenter la réponse de f0xi
stgcici 51 Messages postés mardi 29 octobre 2013Date d'inscription 18 février 2014 Dernière intervention - 2 déc. 2013 à 09:54
0
Merci
Bonjour;
Merci pour ton aide.
J'ai toujours un petit soucis malgré que j'ai adapté ton code à mon projet.
var_dump($content)//retourne le contenu du fichier json
var_dump($orders)// retourne Null (toujours le même probléme)
Commenter la réponse de stgcici
stgcici 51 Messages postés mardi 29 octobre 2013Date d'inscription 18 février 2014 Dernière intervention - 2 déc. 2013 à 13:20
0
Merci
salut,
c'est ok maintenant.
Merci pour ton aide
Commenter la réponse de stgcici

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.