2014-03-25 68 views
-4

这里是我的JSON数据如何从JSON数组中检索数据?

{ 
"list":[{"rank":"1","fb_id":"12345","score":"3000"}, 
     {"rank":"2","fb_id":"12345","score":"2000"},  
     {"rank":"3","fb_id":"123456","score":"1000"}, 
     {"rank":"5","fb_id":"123456","score":"2500"}], 
     "roundscores":[{"score1":"1000","pos1":"3","score2":"2500","pos2":"5"}] 
} 

从这个数据,我需要使用Java脚本获得score1

我的JS

$.ajax({ 
type: "POST", 
url: "ajaxClassifica2.jsp", 
data: "selectedLevel="+selectedLevel+"&fb_id="+123456, 
success: function(data) { 
     alert(data); 
     var jsonlist = data.list; 
     var jsonround = data.roundscores; 
     alert(jsonlist); 
     alert(jsonround); 
     var strBuild = ""; 
     $.each(jsonobj, function(index, names) 
     { 
       strBuild ="<ul class=\"livelli\">" 
          +" <div class=\"social\"> " 
          +" <a href=\"#\"><img src=\"images/ico_fb.png\"></a>" 
          +" <a href=\"#\"><img src=\"images/ico_tw.png\"></a>" 
          +" </div>" 
          +" <li><strong>Round 1:</strong> " + names.roundscores.score1 + "</li>" 
          +" <li><strong>Posizione:</strong> " + names.roundscores.pos1 + " </li>" 
          +" </ul>" 
          +" <ul class=\"livelli\">" 
          +" <div class=\"social\"> " 
          +" <a href=\"#\"><img src=\"images/ico_fb.png\"></a>" 
          +"  <a href=\"#\"><img src=\"images/ico_tw.png\"></a>" 
          +" </div>" 
          +" <li><strong>Round 2:</strong> " + names.roundscores.score2 + "</li>" 
          +" <li><strong>Posizione:</strong> " + names.roundscores.pos2 + "</li>" 
          +" </ul>"; 

     }); 
       } 
    }); 
+8

有帮助你尝试自己做任何事 – Novocaine

+0

你应该发布你的代码,并让每个人看到你做了什么。 –

+0

是的,我试过 alert(data); var jsonlist = data.list; var jsonround = data.roundscores; 虽然警报数据我可以看到我的JSON数据 其余的未定义 – Rohil

回答

3

您可以使用JSON.parse然后用普通的JavaScript命名访问:

var obj = JSON.parse('{"list":[...]}'); 
obj.roundscores[0].score1 // 1000 

另外,如果你有没有在JSON.parse API旧的浏览器时,您可以使用填充工具如JSON3

+0

它的工作..感谢很多.. :) – Rohil

+0

你能帮我打印一个HTML列表数组。 \t

  • POS
  • \t
  • 诺姆
  • \t
  • 本地人
  • Rohil

    2
    var json = '{ "list":[{"rank":"1","fb_id":"12345","score":"3000"},{"rank":"2","fb_id":"12345","score":"2000"},{"rank":"3","fb_id":"123456","score":"1000"},{"rank":"5","fb_id":"123456","score":"2500"}], "roundscores":[{"score1":"1000","pos1":"3","score2":"2500","pos2":"5"}] }'; 
    var obj = JSON.parse(json); 
    var score1 = obj.roundscores[0].score1); 
    
    +0

    感谢您的答复。 :) – Rohil

    +0

    可以请你帮我打印一个html中的列表数组。

    • pos
    • nome
    • punti
    Rohil

    0

    免得假设你的JSON数据是变量“RAWDATA”。

    var jData = JSON.parse(rawData); 
    alert(jData.roundscores[0].score1); 
    
    0

    回顾这个例子可能是你

      var jsonText = '{"name":"Frodo","address":"Hobbiton, The Shire"}'; 
         var person = JSON.parse(jsonText); 
    
         alert(person.name);