Python で JSON 配列をクエリする方法を理解しようとしています。簡単な検索を行い、かなり複雑な配列を印刷する方法を教えてください。
私が使用している例は次のとおりです: http://eu.battle.net/api/wow/realm/status
たとえば、「Silvermoon」サーバーを見つけて、その「人口」を出力し、次に「Wintergrasp」配列内の「controlling-faction」を出力する方法を知りたいです。
現在、配列スニペットは次のようになっています。
{"type":"pve","population":"high","queue":false,"wintergrasp":{"area":1,"controlling-faction":0,"status":0,"next":1382350068792},"tol-barad":{"area":21,"controlling-faction":0,"status":0,"next":1382349141932},"status":true,"name":"Silvermoon","slug":"silvermoon","battlegroup":"Cyclone / Wirbelsturm","locale":"en_GB","timezone":"Europe/Paris"}
現時点では、メイン配列にアクセスできますが、無駄に見える別の新しい変数にすべてをコピーしないと、サブ配列にアクセスできないようです。次のようなことができるようになりたいです
import urllib2
import json
req = urllib2.Request("http://eu.battle.net/api/wow/realm/status", None, {})
opener = urllib2.build_opener()
f = opener.open(req)
x = json.load(f) # open the file and read into a variable
# search and find the Silvermoon server
silvermoon_array = ????
# print the population
print silvermoon_array.????
# access the Wintergrasp sub-array
wintergrasp_sub = ????
print wintergrasp_sub.???? # print the controlling-faction variable
これは、他のものにアクセスする方法を理解するのに本当に役立ちます。