11499 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Je travaille actuellement sur un site web mobile et je rencontre un problème avec ma fonction de récupération de données depuis le fichier json.

Fichier JSON :

var data = {

  "expertise": [
    { 
      "lien": "BI"
    },
    {
      "lien": "Data Warehousing" 
    }
  ],

  "reseaux": [
    { 
      "lien": "Cisco"
    }
  ]}


Mon objectif est de récupérer les données expertise dans une partie <ul> et réseaux dans une autre.

Voici ma fonction :


<script type="text/javascript">
        $(document).ready(function() {
          $.getJSON('monFichier.json',function(data){
            $('#expertise').empty();
            $.each(data.expertise , function(entryIndex, entry){
              var html = '';
              html += '<li>' + entry['lien'] + '</li>';
              $('#expertise').append(html);
            });
          });
          return false;
        });
      </script>


Et biensûr :
<ul id="expertise"></ul>


Je pense que je pointe pas correctement vers mon tableau expertise... Smiley confus

J'espère qu'on poura m'aider Smiley rolleyes
Merci !
Hello,

Voici la ligne de code à corriger :
  html += '<li>' + entry.lien + '</li>';


A+
Modifié par Oken (21 Jun 2013 - 12:23)
Merci pour la réponse premièrement, j'ai déjà essayer ça ne donne rien, ou plutôt ça donne rien avec le format de mon fichier json, si par exemple j'avais seulement ça dans mon fichier :

[
    {"lien": "BI"},
    {"lien": "Data Warehousing"}
]


et dans ma fonction mettre à la place de :
$.each(data.expertise , function(entryIndex, entry){


ça :
$.each(data, function(entryIndex, entry){


Ta réponse marche... sauf que j'ai besoin d'un fichier JSON avec d'autres tableaux et d'une fonction capable de pointer sur un seul d'entre eux et boucler. Smiley ohwell
Normalement, la solution que je j'ai donné avec ton code original ne devrait te sortir que les "lien" de "expertise". C'est bien ce que tu recherche?
Oken a écrit :
Normalement, la solution que je j'ai donné avec ton code original ne devrait te sortir que les &quot;lien&quot; de &quot;expertise&quot;. C'est bien ce que tu recherche?


Oui c'est ça sauf que ça donne rien là.

loicbcn a écrit :
Et si tu faisais un console.log(data) pour voir ce que retourne le getJSON?


D'accord je vais tester maintenant Smiley rolleyes
Voilà j'ai la solution pour ça, il suffit juste de supprimer le "var data=" au début de mon fichier json et ça marche sans modifier ma fonction Smiley biggrin

Merci beaucoup pour votre aide Smiley ravi