0
votes

Python, Json. Comment puis-je obtenir une valeur des clés avec le même nom?

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 commentaires

Votre code ressemble à cela devrait fonctionner - où définissez-vous my_json ? Essayez d'imprimer juste avant la boucle


Votre code fonctionne bien pour moi, donne le sid à partir de nom-3


Avez-vous besoin de retourner les trois valeurs de SID, sans réussir le nom CustomName explicitement?


3 Réponses :


1
votes

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"
            }
    ]
}
"""


0 commentaires

1
votes

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')


0 commentaires

1
votes

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'


0 commentaires