Wikipedia API-доступ к объекту JSON

Я пытаюсь вытащить текст из статьи Википедии, используя их API (API-щедрый термин для того, что они предлагают, но мы будем использовать его, я думаю), и у меня возникают проблемы с разбором последующего объекта JSON, который я возвращаю. А именно, объект содержит текст, который я ищу под ключом, метка которого ' * ' такая, что после выполнения команды:

$.getJSON("http://en.wikipedia.org/w/api.php?action=parse&format=json&callback=?", {page:"Red Sea clownfish", prop:"text"}, function(data) {

затем я пытаюсь разобрать эту информацию в строку, используя команда:

var dat = data.parse.text.*;

который я затем выводил на консоль, используя:

console.log(dat);

к сожалению, ни Google Chrome, ни Firefox, похоже, не могут разобрать '*' ключ. Когда я сбрасываю полный объект "data" в консоль, я вижу, что (вложенные) ключи для структуры данных - "parse", "text" и '*'. Я даже могу сбросить текст, который мне нужен, до ключа"*". Т. е.

var dat = data.parse.text;

строительство. Просто персонаж " * " не хочет, чтобы его узнавали.

есть идеи, как это исправить? В идеале я хотел бы получить доступ к значению, на которое ссылается ключ"*". Я просто не знаю, как его программировать на javascript.

1 ответов


на * символ не допускается как часть идентификатора (имя переменной) в JavaScript, так что синтаксис не работает. Вместо этого вы можете использовать нотацию массива/индекса для доступа к свойствам, используя любую строку, независимо от того, является ли она допустимым идентификатором:

var dat = data.parse.text['*'];