Прокручивать вложенный список и извлекать атрибут (python)

Вы получаете эту ошибку из-за writer.flush();. Это может привести к IOException, поскольку он записывает любой буферный вывод в базовый поток. Если возникает исключение, писатель не будет закрыт.

Если его обязательный для сброса в finally{..}, то используйте выделенные try{..} catch{..} для каждой строки следующим образом:

finally {
    if (writer != null) {
        try {
            writer.flush();                
        } catch (IOException e) {
            e.printStackTrace();
        }
        try {
            writer.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
-2
задан davidism 20 January 2019 в 15:44
поделиться

2 ответа


Вы можете написать как следующее,

for _d in data:
    if hasattr(_d, 'matched-bets'):
        print(_d['matched-bets']['id'])
0
ответ дан Ashraful Islam 20 January 2019 в 15:44
поделиться

I tried your json object. I change "in-play": false, - "in-play": False, и работает нормально.

Попробуйте изменить false на False

Обновление:

import json

# its load your api data
json_data = json.loads(data)
# Convert to python object
python_object_data=json.dumps(json_data)

# 
for d in python_object_data:
   id = d['matched-bets'][0]['id']
   print(id)

Если вы используете обновленный формат данных, используйте:

[111 ]
0
ответ дан Shafikur Rahman 20 January 2019 в 15:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: