2010-02-25 5 views
1

내가은 'UID',

은 '문자열 { "SESSION_KEY을' ''가 '만료'". 3.KbRiifBOxY_0ouPag6 __을 3600.1267063200-16423986 " "UID"164 23,386가 "만료": 12673200, "비밀": "sm7WM_rRtjzXeOT_jDoQ __", "SIG": "6a6aeb66 64a1679bbeed4282154b35"} '

어떻게 값을 얻기 위해' '.

감사

+0

"최고"는 무엇을 의미합니까? 가장 빠름? 가장 저렴한? 최소한의 코드 라인? –

답변

2

문자열은 JSON 것으로 보인다.

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

아니면 파이썬 문자 일 수 있습니다. 나는 당신의 문자열에서 사전을 만들 ast.parse() 또는 eval()을 사용하고 평소와 같이 필드를 액세스하는 것이 좋습니다, 간단한 - 투 - 코드 방법

obj= eval(myString) 
obj['session_key'] 
+0

'eval'은 악합니다. * Python dict 일 수도 있지만, 그 문자열에는 아무 것도 포함되지 않을 것이라고 확신 할 수 없습니다. – poke

+1

@poke : 사실, 문자열에 아무 것도 포함되지 않았 음을 확신 할 수 있습니다. 악의적 인 사회 병사로부터 문자열을 얻지 못하면 그 문자열이 안전하다는 것을 확신 할 수 있습니다. 그러나 직원에게 악의적 인 사교 활동가가있는 경우 Python 문자열을 포함하여 어떤 것도 허용해서는 안됩니다. –

3
>>> 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' 
>>> 
0

을보십시오. 위의 두 함수의 차이점은 ast.parse은 기본 형식 만 평가할 수 있기 때문에 누군가가 "나쁜"코드를 포함 할 수있는 문자열을 제공 할 수있는 경우 더욱 안전합니다.