2

我有这段代码:

[...]
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"
                    }
                ]
            }
        }
    }
}

谢谢!

4

1 回答 1

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 对象,因为那样不会选择任何东西。

于 2013-05-07T15:44:59.077 回答