мне нужно, чтобы получить основные ключи (устройства) из JSON форматированный текст с ключами вокруг 70,000 (суб)/объекты Это выглядит следующим образом:ключи Python JSON без разбора
{
"1":{...........}
"4":{...........}
"9":{...........}
}
И мне нужно получите «1», «4» и «9». Но то, как я это делаю сейчас это занимает около 2 минут, чтобы разобрать текст с
json = json.loads(response.text) #this takes so long!
devices = json.keys()
, потому что я бегу это на Raspberry Pi!
Есть ли лучший способ?
EDIT: Я получаю данные из 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
использовать базу данных и запрашивать только то, что вам нужно, когда вам это нужно? –
Я не могу изменить данные, которые получаю ... Я получаю текст со многими клавишами, и мне нужно получить основные ключи ... Или есть возможность в том, как я получаю данные? (см. «Редактирование») – TeNNoX