2012-04-26 4 views
0

J'ai vu this answer traitant de l'obtention de données à partir de JSON. J'essaie de faire presque la même chose, mais mon JSON est structuré différemment en ce qui concerne les tableaux/objets et je ne suis pas sûr de savoir comment l'analyser de la même manière. Mon JSON est dans ce format et j'essaye d'écrire une fonction pour trouver certains éléments basés sur la question liée, mais sans clés pour les éléments dans le json, je ne sais pas comment cibler les choses. Ou dois-je essayer de retravailler la sortie de mon json? (Qui est créé par json_encode d'une requête CodeIgniter db modifiée.navigation JSON avec jQuery

$(function() { 
var json = [ 
    { 

    "answer": [ 

     "4555" 

    ], 
    "answer_string": "4555|", 
    "qid": "70", 
    "aid": "742" 
    }, 
{ 

    "answer": [ 

     "monkeys", 
     "badgers", 
     "monkeybadgers" 

    ], 
    "answer_string": "monkeys|badgers|monkeybadgers|", 
    "qid": "71", 
    "aid": "742" 
    } 
]; 
    $.each(json[], function(i, v) { 
     if (v.qid= "70") { 
      alert(v.answer[0]); 
      return; 
     } 
    }); 
});​ 

jsfiddle

Je dois trouver réponse [0] où qid correspond à un certain nombre.

Répondre

1

Votre javascript est foiré . Voir violon Mise à jour:

http://jsfiddle.net/jQmyf/2/

Plus précisément: if (v.qid= "70") { qui devrait être v.qid==

et $.each(json[] devrait juste être $.each(json

+0

merci ! effectivement eu == dans le code. La raison pour laquelle ça ne fonctionnait pas dans mon code est que c'était à cause d'un problème différent: p – Damon

0

Vous devriez donner à chaque seul le nom du tableau:

$.each(ja, function(i, v) { 

comparaison Utilisez au lieu d'affectation dans les cas suivants:

if (v.qid== "70") { 

$(function() { 
    var ja= [ 
     { 
     "answer": [ 

      "4555" 
     ], 
     "answer_string": "4555|", 
     "qid": "70", 
     "aid": "742" 
     } 
    ]; 
    $.each(ja, function(i, v) { 
     if (v.qid== "70") { 
      alert(v.answer[0]); 
      return; 
     } 
    }); 
});​ 

Updated Fiddle :