2016-08-13 14 views
0

JSONからデータを取得しようとしました。しかし、その代わりに、データは私がTypeErrorを得る:TypeError:文字列インデックスは整数でなければなりません

'TypeError: string indices must be integers' 

ここに私のコードIST:

api.authenticate(LOGIN, CONN) 
profil = api.get_profile("abc") 
data = json.dumps(profil, indent=4) 
print(data["login"]) 

JSONファイル:

{ 
    "public_email": "", 
    "violation_url": null, 
    "is_blocked": false, 
    "links_published": 0, 
    "login": "abc", 
    "links_added": 1, 
    "gg": "", 
    "signup_date": "2014-10-26 21:15:41", 
} 

私は解決策を探してきました(SO、グーグル)が、私はできません私のために働いているかどうかわかりません。

+1

は、なぜあなたは 'json.dumps'を呼び出していますか?これは '.get_profile'がJSONからあなたのために作成したデータ構造を文字列*に変換します。 – jonrsharpe

+0

'json.loads'を呼び出すと別のエラーが発生します。そして、 'json.dumps'は別のコードで動作しています –

+1

**何か** *「別のエラー」*?私はあなたが 'json.'何もする必要はないと言っています。ただ' profil' *を使うだけです。それは既に辞書であるようです。 – jonrsharpe

答えて

-1

あなたのJSONファイル内の余分な,は最後にあります。これを削除します

{ 
    "public_email": "", 
    "violation_url": null, 
    "is_blocked": false, 
    "links_published": 0, 
    "login": "abc", 
    "links_added": 1, 
    "gg": "", 
    "signup_date": "2014-10-26 21:15:41" 
} 

を次にJSONファイル(ないdump)はload

with open('abc.json') as data_file:  
    data = json.load(data_file) 

print(data["login"]) 
関連する問題