Извлечь данные c из строки - PullRequest
1 голос
/ 11 апреля 2020

У меня есть эта строка:

{'iconPath': '/img/theme/bungienet/icons/psnLogo.png', 'crossSaveOverride': 0, 'isPublic': False, 'membershipType': 3, 'membershipId': '4611686018467284386', 'displayName': 'Datto'}

, из которой мне нужно извлечь данные за 'membershipId', я не могу просто вырезать их из символа ... в символ ..., потому что Длина может быть разной. это происходит от API Destiny2 и является частью этого ответа API:

{
    "ErrorCode": 1,
    "ErrorStatus": "Success",
    "Message": "Ok",
    "MessageData": {},
    "Response": [
        {
            "crossSaveOverride": 0,
            "displayName": "Datto",
            "iconPath": "/img/theme/bungienet/icons/psnLogo.png",
            "isPublic": false,
            "membershipId": "4611686018467284386",
            "membershipType": 3
        }
    ],
    "ThrottleSeconds": 0
}

Проблема в том, что тег "Response": запускает список, в котором все равно просто индекс 0 в целом.

1 Ответ

1 голос
/ 11 апреля 2020

Попробуйте:

data =  {
    "ErrorCode": 1,
    "ErrorStatus": "Success",
    "Message": "Ok",
    "MessageData": {},
    "Response": [
        {
            "crossSaveOverride": 0,
            "displayName": "Datto",
            "iconPath": "/img/theme/bungienet/icons/psnLogo.png",
            "isPublic": false,
            "membershipId": "4611686018467284386",
            "membershipType": 3
        }
    ],
    "ThrottleSeconds": 0
}

membership_id = data["Response"][0]["membershipId"]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...