約 70.000 個の (サブ) キー/オブジェクトを含む JSON 形式のテキストからメイン キー (デバイス) を取得する必要があります。次のようになります。
{
"1":{...........}
"4":{...........}
"9":{...........}
}
そして、「1」、「4」、「9」を取得する必要があります。しかし、私が今行っている方法では、テキストを解析するのに約2分かかります
json = json.loads(response.text) #this takes so long!
devices = json.keys()
私はラズベリーパイでこれを実行しているので!
より良い方法はありますか?
編集: サーバーで実行されているJSON APIからデータを受け取ります:
http://.../ZWaveAPI/Run/devices #this is an array
EDIT3:
最終的な作業コード: (2 ~ 5 秒間実行されます! :)
import ijson.backends.python as ijson
import urllib
parser = ijson.parse(urllib.urlopen("http://.../ZWaveAPI/Run/devices"))
list = []
for prefix,event,value in parser:
if event == "map_key" and len(prefix) == 0:
list.append(value)
return list