IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Json decode retourne NUll [PHP 5.2]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 103
    Points : 47
    Points
    47
    Par défaut Json decode retourne NUll
    Bonjour,

    J'essaie de lire un json issue de l'url suivant :
    https://collectionapi.metmuseum.org/...covers&q=quilt

    je ne comprends pas pourquoi le vardump me renvoie null.

    Vous trouverez mon code ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    function isJson($string) {
       json_decode($string);
       return (json_last_error() == JSON_ERROR_NONE);
      }
    //The URL that we want to GET.
    $url = 'https://collectionapi.metmuseum.org/public/collection/v1/search?medium=Quilts|Silk|Bedcovers&q=quilt';
     
    //Use file_get_contents to GET the URL in question.
    $contents = file_get_contents($url);
    //$contents = "Not a json";
     
    //If $contents is not a boolean FALSE value.
    if($contents !== false){
      //Print out the contents.
      echo "<br>content <br>";
      echo "Content---></br>".$contents;
      echo "<br> fin du content <br><br> " ;
      echo "data <br>";
      $data=json_decode($content,true);
      echo "data--->". $data;
      echo "<br> fin du data";
      echo "<br> <br> VarDump<br>";
      var_dump(json_decode($content,true));
      echo "<br>";
      var_dump($data);
      echo "<br> fin du VarDump";
     
      echo "<br> <br> Department-->".$data['objectIDs'][1];
      echo "<br> fin du Department";
      echo "<br> <br> DisplayName-->".$data['objectIDs'][1];
      echo "<br> fin du DisplayName";
     
      echo "<br> <br> Json -->".isJson($contents);
    Je suis preneur si vous avez une idée.

    Merci par avance

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 250
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 250
    Points : 15 553
    Points
    15 553
    Par défaut
    ce code PHP devrait vous afficher une erreur.
    si ce n'est pas la cas, vous devriez d'abord changer la configuration de PHP pour afficher un maximum d'erreur, cela vous aidera pour le développement.

    je ne trouve plus dans la FAQ PHP la liste des modifications à faire dans la configuration donc je laisse quelqu'un d'autre continuer ici.

  3. #3
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 103
    Points : 47
    Points
    47
    Par défaut
    Bonjour Mathieu,

    Merci pour votre réponse. Je viens d'activer tous les messages d'erreurs sur PHP, malheureusement j'ai toujours null en retour.

    J'ai testé pour voir si mon input est bien un json(cf ma fonction) et apparement oui. Avez vous d'autres idées ? (je tourne un peu en rond )

    Merci par avance

    Cdlt

  4. #4
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 103
    Points : 47
    Points
    47
    Par défaut
    c'est bon j'ai trouvé ... c'est juste que j'avais oublié un s au nom de ma variable ...

  5. #5
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 250
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 250
    Points : 15 553
    Points
    15 553
    Par défaut
    Citation Envoyé par la_fouine1806 Voir le message
    Je viens d'activer tous les messages d'erreurs sur PHP, malheureusement j'ai toujours null en retour.
    vous n'avez peut-être pas tout activé parce que vous auriez dû avoir le message d'erreur "Notice: Undefined variable".

    je vous conseille de configurer cela avant de continuer à développez, cela vous fera gagner beaucoup de temps pour la suite.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. BitmapFactory.decode retourne null
    Par popovitch130 dans le forum Android
    Réponses: 7
    Dernier message: 28/12/2012, 12h33
  2. TTF_OpenFont() retournant NULL
    Par FabaCoeur dans le forum SDL
    Réponses: 4
    Dernier message: 11/04/2007, 16h30
  3. GetDC retourne NULL Oo
    Par Groove dans le forum OpenGL
    Réponses: 3
    Dernier message: 02/03/2007, 17h46
  4. Réponses: 3
    Dernier message: 02/03/2007, 11h41
  5. opérateur + dans SELECT retourne null ?
    Par david_chardonnet dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 19/01/2007, 10h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo