2017-06-05 6 views
0

値:これはJSONでアクセスJSONは、私はJSONファイルを持っている、と私は値にアクセスしようとしていますが、私はというエラーになっておくのPython

「TypeError例外の文字列のインデックスは整数でなければなりませんが、strがありません」データ。私に

{'sentiment': '{\n "0": {\n "comment": "Chibok schoolgirls were swapped for 5 Boko Haram commanders \n "username": "@NigeriaNewsdesk:, @todayng", \n "score": 0.0\n }\n}'} 

データ=ヴァル[「感情」] 印刷データを返します。このバック

{ 
"0": { 
    "comment": "Chibok schoolgirls were swapped for 5 Boko Haram commanders", 
    "username": "@NigeriaNewsdesk:, @todayng", 
    "score": 0.0 
} 
} 

しかし、私は、キー/値のペアにアクセスしようとすると、私は内のレコードのエラー を取得しますデータ: プリント(記録[ "0"] [ "ユーザー名"])

TypeError: string indices must be integers, not str 

私はこれらのエラーを取得していますなぜ任意のアイデア?ありがとう

+0

「レコード」とは何ですか?私はあなたが 'print(data [" 0 "] [" username "])'をしたいと思っています。 – ILostMySpoon

+0

まず、 "sentiment"キーの値は文字列であり、dictオブジェクトではありません。第2に、有効なJSON文字列でもありません。この値を格納しているロジックを修正する必要があります。たぶんdictまたは少なくとも有効なJSON文字列として格納する –

答えて

5

あなたが投稿したjsonでは、sentimentはjsonオブジェクトではなくjson文字列を格納します。 jsonを解析する必要があります。 json.loads(val['sentiment'])、またはjsonオブジェクトとしてjsonを格納します。

+0

質問に記載された* JSON文字列が間違った形式 –

関連する問題