2011-11-14 14 views
6

तक पहुंचने से मैं अपने एपीआई का उपयोग करके विकिपीडिया आलेख से टेक्स्ट खींचने की कोशिश कर रहा हूं (एपीआई जो पेशकश कर रहा है उसके लिए एक उदार शब्द है, लेकिन हम इसका अनुमान लगाएंगे), और मैं हूं बाद में जेएसओएन ऑब्जेक्ट के पार्सिंग के संबंध में मुद्दों में भाग लेना मैं वापस आ रहा हूं।विकिपीडिया एपीआई - जेएसओएन ऑब्जेक्ट

$.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.*; 

कौन सा मैं तो का उपयोग कर एक सांत्वना के लिए outputting हूँ:

console.log(dat); 

दुर्भाग्य से, गूगल क्रोम और न ही फ़ायरफ़ॉक्स न 01 पार्स करने के लिए सक्षम होने के लिए लग रहे हैंकुंजी। जब मैं पूर्ण 'डेटा' ऑब्जेक्ट को कंसोल में डंप करता हूं, तो मैं देख सकता हूं कि डेटा संरचना के लिए (नेस्टेड) ​​कुंजी 'पार्स', 'टेक्स्ट' और '*' हैं। मैं उस पाठ को भी डंप कर सकता हूं जिसे मुझे '*' कुंजी पर चाहिए। अर्थात।

var dat = data.parse.text; 

काम करता है। यह सिर्फ '*' चरित्र पहचाना नहीं जाना चाहता है।

इसे ठीक करने के तरीके पर कोई विचार? आदर्श रूप में मैं उस मान तक पहुंच प्राप्त करना चाहता हूं जो '*' कुंजी संदर्भित कर रहा है। मुझे पता नहीं है कि जावास्क्रिप्ट में इसे कैसे प्रोग्राम किया जाए।

+0

, क्या = 'कॉलबैक साथ है': इसके बजाय, आप है कि क्या यह एक वैध पहचानकर्ता है की परवाह किए बिना किसी भी स्ट्रिंग, उपयोग करने वाली प्रॉपर्टी का उपयोग करने की सरणी/सबस्क्रिप्ट संकेतन का उपयोग कर सकते हैं? (ऐसा लगता है कि एक खाली कॉलबैक के समान काम करता है, संभवतया क्योंकि मीडियाविकि अमान्य चरित्र को अलग कर रहा है।) –

+1

हां! विकिपीडिया/मीडियाविकि निस्संदेह दुनिया में सबसे भयानक एपीआई है। – Jaseem

उत्तर

8

* चरित्र को जावास्क्रिप्ट में पहचानकर्ता (चर नाम) के हिस्से के रूप में अनुमति नहीं है, ताकि वाक्यविन्यास काम न करे।

var dat = data.parse.text['*']; 
बस जिज्ञासा से बाहर
+0

काम करता है! जल्दी उत्तर देने के लिए धन्यवाद! – Mephistopheles

संबंधित मुद्दे