2013-04-18 106 views
0

請我從JSON Web服務這樣的輸出:JSON網絡服務中獲得價值

 {"format":"json", 
     "success":true, 
     "errors":[], 
     "result": 
     {"**206**": 
     {"player_name":"stagiaire", 
      "M":{ 
       "6480":{"score":0,"answer":"cdgvbdbgd","category_name":"cdgvbdbgd"}, 
       "6481":{"score":0,"answer":"cdgvbdbgd","category_name":"cdgvbdbgd"}, 
       "6482":{"score":0,"answer":"cdgvbdbgd","category_name":"cdgvbdbgd"}, 
       "6483":{"score":0,"answer":"cdgvbdbgd","category_name":"cdgvbdbgd"}, 
       }, 

      "O":{ 
       ..... }, 
     } 
    } 
    } 

我要的是提取值(也就是現在的206,但它可以是另一個號碼) 。 我在尋求你的幫助來達到這個目標。 任何幫助將不勝感激。

回答

1

如果得到的對象包含這個號碼正如它的名字只有一個屬性,就是

result = { 
    206 : { 
     ... 
    } 
    // no other properties here 
} 

那麼你可以使用類似:

var num = Object.keys(result).shift(); // "206" 

檢查在browser compatibilityObject.keys()方法MDN並且如果需要使用shim

+0

想得很多,它的工作,我會明白移()函數假設要做? – Brahim

+0

@Brahim'shift' *從數組中移除第一個元素並返回該元素*。你可以在這裏閱讀它:https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/shift – VisioN

+0

我很欣賞這個 – Brahim

1

如果你看看總是對象有一個球員的名字作爲值,嘗試

for (var key in obj.result) if obj.result[key]["player_name") alert(key) 

或者使用jQuery

$.each(data.result,function(key,val) { 
    alert(key); 
});