2013-05-07 70 views
2

一個變量我有這樣的一段代碼:添加到JSON查詢

[...] 
var apiURL = "http://.../api.php?format=json"; 
$.getJSON(apiURL, function(jsonData) { 
    $('#tr<?php echo $itemId; ?>').text($(jsonData)[0].query.pages. + objId ); 
}); 
[...] 

其中objid是一個JavaScript變量,可以處理不同的值。我怎樣才能使這個工作?我如何添加一個變量到這個json查詢?

JSON的是這個:

{ 
    "query": { 
     "pages": { 
      "6": { 
       "pageid": 6, 
       "ns": 0, 
       "title": ".ODk.MTc5", 
       "touched": "2013-05-03T10:22:37Z", 
       "lastrevid": 26, 
       "counter": 0, 
       "length": 23, 
       "new": "", 
       "protection": [{ 
         "type": "edit", 
         "level": "sysop", 
         "expiry": "infinity" 
        } 
       ] 
      } 
     } 
    } 
} 

謝謝!

+2

爲什麼你將JSON字符串傳遞給'$'? – Dogbert 2013-05-07 14:54:59

+1

*「我怎樣才能使這個工作?」什麼是不工作? – 2013-05-07 14:56:59

+0

只是'jsonData [「query」] [「pages」] [objId]'或'jsonData.query.pages [objId]' – shuaqiu 2013-05-07 15:25:26

回答

1

這裏就是你需要做的:

var apiURL = "http://.../api.php?format=json"; 
$.getJSON(apiURL, function(jsonData) { 
    $('#tr<?php echo $itemId; ?>').text(jsonData.query.pages[objId] ); 
}); 

jsonData是一個有效的JavaScript對象,所以你可以只是要麼點符號或括號來訪問其屬性。括號表示法接受一個字符串或整數(這就是我所假設的objId)並根據它查找屬性。點符號符合你對任何物體的期望。沒有理由首先嚐試創建一個jQuery對象,因爲它不會選擇任何東西。