Solución:
Su código se puede simplificar mucho:
# no need to call `r.json` so many times, can simply save it to a variable
json_data = r.json()
for item in json_data["data"]["array"]:
if item["name"] == "Value1":
# do something...
No estoy seguro de dónde vino ese fragmento de código, pero se ve muy mal.
Con solo mirar la estructura, puede hacer algo como:
for attrs in r.json()['data']['array']:
if attrs['name'] == s_name:
ident = attrs['id']
name = attrs['name']
print(name, '-', ident)
break
else:
print('Nothing found!')
A continuación, se muestra un ejemplo de una sola línea para la búsqueda:
aaa = {
"success":True,
"data":
{
"array":
[
{
"id":"1","name":"Value1"
},
{
"id":"2","name":"Value2"
}
]
}
}
[a['name'] for a in aaa['data']['array'] if a['id']=='1']
Esto devolverá todos los casos encontrados, o una matriz vacía si no se encuentra nada
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)