Это мой вывод json. Как я могу получить только имя и статус из приведенного ниже json. сломал мне голову из-за этого последние пару дней.
Мне нужно использовать цикл, чтобы получить это?
{
"recipes": {
"47635": {
"name": "Desitnation Search",
"status": "SUCCESSFUL",
"kitchen": "eu",
"active": "YES",
"created_at": 1501672231,
"interval": 5,
"use_legacy_notifications": false
},
"65568": {
"name": "Validation",
"status": "SUCCESSFUL",
"kitchen": "us-west",
"active": "YES",
"created_at": 1522583593,
"interval": 5,
"use_legacy_notifications": false
},
"47437": {
"name": "Gateday",
"status": "SUCCESSFUL",
"kitchen": "us-west",
"active": "YES",
"created_at": 1501411588,
"interval": 10,
"use_legacy_notifications": false
}
},
"counts": {
"total": 3,
"limited": 3,
"filtered": 3
}
}
Я только начал изучать питон. Я пишу программу на Python, чтобы предупредить, если статус в любом из «статусов» в приведенном выше коде! = Успешен. Поэтому для этого мне нужно знать, как мне извлечь из этого имя и статус ..
Это интересный контекст, но совершенно не относящийся к вопросу. Что вы пробовали и где застряли? Вы проводили какое-либо исследование? Что вы узнали, а чего еще не знаете? SO - это не сервис для написания кода или обучения, он предназначен для того, чтобы ответить на конкретные, хорошо продуманные вопросы, ответы на которые могут быть полезны для многих людей, а не только для OP.
Хорошо .. Я передал значение этой функции и попытался использовать вложенный цикл for. Но все, что он возвращает, это просто 47635 и 47437 def pingdom_data (pingdom_response): data = [] для проверки в pingdom_response.json () ['recipes']: print check <- Это что для проверки временного режима: data.append ({ 'name': temp ['name'], 'status': temp ['status'] # 'resptime': check ['lastresponsetime']}) # данные печати






Ага, используйте здесь цикл for.
extracted_recipes = []
for recipe in d['recipes']:
extracted_recipes.append(recipe['name'],recipe['status'])
Это даст вам список кортежей.
print(extracted_recipes)
[('Desitnation Search',"SUCCESSFUL"),("Validation","SUCCESSFUL"),("Gateday","SUCCESSFUL")]
получение этой ошибки .. любые идеи? import json import re import запросы import subprocess res = requests.get ('api.tempura1.com/api/1.0/recipes', auth = ('12345', '123'), headers = {'App-Key': 'bc9y1dmq8xsm3tykuasdd4o7ptz7'}) data = res.text extract_recipes = [] для рецепта в данных ['recipes']: extract_recipes.append ({'name': recipe ['name'], 'status': recipe ['status']}) print extract_recipes
TypeError: строковые индексы должны быть целыми числами
Непонятно, где вы застряли, поскольку вы пока не предоставили минимальный воспроизводимый пример своего кода. Да, я бы предложил шлейф
for.