<p>Actually I am writing a Javascript code to insert a statistical chart into the landing page. My intention is to show how much pages exist for each of major categories of the site, using an enhanced visual plugin.
</p><p>I figured out that MediaWiki API can provide JSON-encoded information on categories:
</p>
<blockquote style="border-left: 3px solid #aaa; padding-left: 1em;"><div dir="ltr" class="mw-geshi mw-content-ltr"><div class="javascript source-javascript">
<span class="br0">{</span>
<span class="st0">"query"</span><span class="sy0">:</span> <span class="br0">{</span>
<span class="st0">"normalized"</span><span class="sy0">:</span> <span class="br0">[</span><span class="br0">{</span>
<span class="st0">"from"</span><span class="sy0">:</span> <span class="st0">"Category:NPC"</span><span class="sy0">,</span>
<span class="st0">"to"</span><span class="sy0">:</span> <span class="st0">"<span class="es0">\u</span>bd84<span class="es0">\u</span>b958:NPC"</span>
<span class="br0">}</span><span class="br0">]</span><span class="sy0">,</span>
<span class="st0">"pages"</span><span class="sy0">:</span> <span class="br0">{</span>
<span class="st0">"27881"</span><span class="sy0">:</span> <span class="br0">{</span>
<span class="st0">"pageid"</span><span class="sy0">:</span> <span class="nu0">27881</span><span class="sy0">,</span>
<span class="st0">"ns"</span><span class="sy0">:</span> <span class="nu0">14</span><span class="sy0">,</span>
<span class="st0">"title"</span><span class="sy0">:</span> <span class="st0">"<span class="es0">\u</span>bd84<span class="es0">\u</span>b958:NPC"</span><span class="sy0">,</span>
<span class="st0">"categoryinfo"</span><span class="sy0">:</span> <span class="br0">{</span>
<span class="st0">"size"</span><span class="sy0">:</span> <span class="nu0">275</span><span class="sy0">,</span>
<span class="st0">"pages"</span><span class="sy0">:</span> <span class="nu0">266</span><span class="sy0">,</span>
<span class="st0">"files"</span><span class="sy0">:</span> <span class="nu0">0</span><span class="sy0">,</span>
<span class="st0">"subcats"</span><span class="sy0">:</span> <span class="nu0">9</span>
<span class="br0">}</span>
<span class="br0">}</span>
<span class="br0">}</span>
<span class="br0">}</span>
<span class="br0">}</span>
</div></div>
<p><i>from
http://ko.pokemon.wikia.com/api.php?action=query&format=json&prop=categoryinfo&titles=Category:NPC</i></p></blockquote>
<p>
"pages":266
part is definitely what I am looking for. So I tried to extract it like below:
</p>
<div dir="ltr" class="mw-geshi mw-content-ltr"><div class="javascript source-javascript">
$.<span class="me1">ajax</span><span class="br0">(</span><span class="br0">{</span>
type<span class="sy0">:</span> <span class="st0">"GET"</span><span class="sy0">,</span>
url<span class="sy0">:</span> <span class="st0">'ko.pokemon.wikia.com/api.php'</span><span class="sy0">,</span>
data<span class="sy0">:</span> <span class="br0">{</span> action<span class="sy0">:</span><span class="st0">'query'</span><span class="sy0">,</span> format<span class="sy0">:</span><span class="st0">'json'</span><span class="sy0">,</span> prop<span class="sy0">:</span><span class="st0">'categoryinfo'</span><span class="sy0">,</span> titles<span class="sy0">:</span><span class="st0">'Category:NPC'</span> <span class="br0">}</span><span class="sy0">,</span>
dataType<span class="sy0">:</span> <span class="st0">'json'</span><span class="sy0">,</span>
success<span class="sy0">:</span> <span class="kw1">function</span><span class="br0">(</span> data <span class="br0">)</span><span class="br0">{</span>
<span class="kw1">var</span> len <span class="sy0">=</span> data.<span class="me1">query</span>.<span class="me1">pages</span><span class="br0">[</span><span class="nu0">27881</span><span class="br0">]</span>.<span class="me1">categoryinfo</span>.<span class="me1">pages</span><span class="sy0">;</span>
alert<span class="br0">(</span>len<span class="br0">)</span><span class="sy0">;</span>
<span class="br0">}</span>
<span class="br0">}</span><span class="br0">)</span><span class="sy0">;</span>
</div></div>
<p>As you can see, I am not familiar yet with handling object. Isn't there a smarter way of selecting this value? I appreciate your help.
</p>