6

私は彼らの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);

残念ながら、GoogleChromeもFirefoxも'*'キーを解析できないようです。完全な「data」オブジェクトをコンソールにダンプすると、データ構造の(ネストされた)キーが「parse」、「text」、およびであることがわかります'*'。必要なテキストを「*」キーまでダンプすることもできます。つまり

var dat = data.parse.text;

動作します。'*'文字が認識されたくないというだけです。

これを修正する方法について何かアイデアはありますか?理想的には、「*」キーが参照している値にアクセスしたいと思います。javascriptでプログラムする方法がわかりません。

4

1 に答える 1

8

この*文字はJavaScriptの識別子(変数名)の一部として許可されていないため、構文は機能しません。代わりに、配列/添え字表記を使用して、有効な識別子であるかどうかに関係なく、任意の文字列を使用してプロパティにアクセスできます。

var dat = data.parse.text['*'];
于 2011-11-14T16:26:00.363 に答える