2011-12-21 4 views
7

에 덤프 : http://docs.python.org/library/json.htmlJSON로드/워드 프로세서에서 파이썬

>>> json.loads('["foo", {"bar":["baz", null, 1.0, 2]}]') 
[u'foo', {u'bar': [u'baz', None, 1.0, 2]}] 

내가 이런 식으로 수정 :

>>> the_dump=json.dumps("['foo', {'bar':['baz', null, 1.0, 2]}]") 
>>> the_load = json.loads(the_dump) 
u"['foo', {'bar':['baz', null, 1.0, 2]}]" 

가 지금은 문자열입니다. 나는 이것을하고 싶다 : the_load[1]['bar'].

이렇게 할 수 있습니까? 내가 어디로 잘못 가고 있니?

왜이 기능이 작동합니까? 당신이 해독 할 때 다시 문자열을 얻을 놀라운 일이 아니다 그래서

>>> a= "[1,2,3]" 
>>> json.loads(a)[0] 
1 
+1

속도와 보안에 관심이 있으시면'simplejson' 모듈을 직접 설치하는 것이 좋습니다. 2.6의 파이썬의'json' 모듈은 최신 버전의 모든 속도와 보안 기능을 향상시키지 않는'simplejson'의 구버전입니다. – Edwin

답변

12
>>> the_dump=json.dumps("['foo', {'bar':['baz', null, 1.0, 2]}]") 

당신은 JSON 인코딩 문자열을을 요구하고 있습니다. 대신 시도하십시오 :

>>> the_dump=json.dumps(['foo', {'bar':['baz', None, 1.0, 2]}]) 
관련 문제