это лучший способ получить значение 'session_key', 'uid', 'expires' - PullRequest
1 голос
/ 25 февраля 2010

у меня есть строка

''» { "Session_key": "3.KbRiifBOxY_0ouPag6 __ 3600.1267063200-16423986.", "UID": 164 23386, "истекает": 12673200, "секрет": "sm7WM_rRtjzXeOT_jDoQ __", "сиг": "6a6aeb66 64a1679bbeed4282154b35" } '' '

как получить значение.

спасибо

Ответы [ 3 ]

3 голосов
/ 25 февраля 2010
>>> import json
>>> s=''' {"session_key":"3.KbRiifBOxY_0ouPag6__.3600.1267063200-16423986","uid":16423386,"expires":12673200,"secret":"sm7WM_rRtjzXeOT_jDoQ__","sig":"6a6aeb66 64a1679bbeed4282154b35"} '''
>>> d=json.loads(s)

>>> d['session_key']
u'3.KbRiifBOxY_0ouPag6__.3600.1267063200-16423986'
>>> d['uid']
16423386
>>> d['expires']
12673200
>>> d['secret']
u'sm7WM_rRtjzXeOT_jDoQ__'
>>> d['sig']
u'6a6aeb66 64a1679bbeed4282154b35'
>>> 
2 голосов
/ 25 февраля 2010

Строка выглядит как JSON.

import json
obj= json.loads( aString )
obj['session_key']

Или это может быть диктант Python. Попробуйте

obj= eval(myString)
obj['session_key']
0 голосов
/ 25 февраля 2010

Для простого метода кода я предлагаю использовать ast.parse() или eval() для создания словаря из вашей строки, а затем обращаться к полям как обычно. Разница между двумя вышеупомянутыми функциями заключается в том, что ast.parse может оценивать только базовые типы, и поэтому является более безопасным, если кто-то может дать вам строку, которая может содержать «плохой» код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...