我正在使用维基百科 json,所以......我有这个对象:
Object {query: Object}
query: Object
pages: Object
869994: Object
ns: 0
pageid: 869994
revisions: Array[1]
title // <- I need you baby
使用 ID 检索(在本例中为 869994)。现在我想检索标题,所以我应该使用
$.getJSON(myIdUrl, function(data) {
var obj = 'data.query.pages.' + id + '.title';
console.log(obj); // it prints data.query.pages.869994.title should be right..
var title = eval(obj); // now I want to assign obj title value to my variable
// something else…
});
我收到错误“SyntaxError: Unexpected number '.869994'”...
我想我误解了 eval() 函数,或者只是制定了错误的路径来检索 obj 数据......
建议?谢谢!
最佳答案
更改此:
var obj = 'data.query.pages.' + id + '.title';
对此:
var obj = 'data.query.pages["' + id + '"].title';
原因是解析器困惑;当您取消引用一个对象时,它需要一个标识符,而不是一个文字数字。
var x = {};
x.5 = "test"; // <- notice this seems very unnatural
关于javascript - 如何在字符串上使用 eval() 获取对象值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12655633/