J'ai besoin de saisir la valeur "SID" de mon JSON
customName_1 = 'name-1' customName_2 = 'name-2' customName_3 = 'name-3' for name in My_JSON['response']: if name['customName'] == customName_3: print(name['sid']) else: print('Cant get sid')
3 Réponses :
Cela stockera toutes les "valeurs de SID" correspondantes dans la liste SIDS code>. Vous pouvez le faire facilement avec la bibliothèque
JSON code> comme indiqué ci-dessous.
De plus, j'ai utilisé la compréhension de la liste pour rendre votre code plus concis.
s = """
{
"response": [
{
"customName": "name-1",
"sid": "1247azc08belr2q4"
},
{
"customName": "name-2",
"sid": "zz63p2xxeh32b661"
},
{
"customName": "name-3",
"sid": "aa88p2xfeh32e661"
}
]
}
"""
Vous pouvez utiliser cet extrait pour renvoyer tous les 3 sid code> valeurs ....
MY_JSON = {
"response": [
{
"customName": "name-1",
"sid": "1247azc08belr2q4"
},
{
"customName": "name-2",
"sid": "zz63p2xxeh32b661"
},
{
"customName": "name-3",
"sid": "aa88p2xfeh32e661"
}
]
}
names = ["name-1", "name-2", "name-3"];
for name in MY_JSON['response']:
if name['customName'] in names:
print(name['sid'])
else:
print('Cant get sid')
J'ai esquissé une solution simple qui pourrait faire ce qui pourrait faire quel besoin.
>>> item = grab_item_by_attr(data['response'], 'customName', 'name-3') >>> item {'customName': 'name-3', 'sid': 'aa88p2xfeh32e661'} >>> item['sid'] 'aa88p2xfeh32e661'
Votre code ressemble à cela devrait fonctionner - où définissez-vous
my_json code>? Essayez d'imprimer juste avant la boucle
Votre code fonctionne bien pour moi, donne le
sid code> à partir de
nom-3 code>
Avez-vous besoin de retourner les trois valeurs de SID, sans réussir le nom CustomName explicitement?