Python 3では、次のJSONコードをjson_data
という辞書に設定しました。lst
というリストにclass
のすべての値をclasses
に追加します。PythonでJSONキーを取得する
JSONコード:
{
"images": [
{
"classifiers": [
{
"classes": [
{
"class": "street",
"score": 0.846
},
{
"class": "road",
"score": 0.85
},
{
"class": "yellow color",
"score": 0.872
},
{
"class": "green color",
"score": 0.702
}
],
"classifier_id": "default",
"name": "default"
}
],
"image": "images/parisstreets/paris-streets-1.jpg"
}
],
"images_processed": 1
}
以下は、上記のJSON構造体の出力になります。ここで
{'street','road','yellow color','green color'}
は、私が試したコードです。ここで
lst = list()
def func(json_data):
for item in json_data['images'][0]['classifiers']['classes']:
class1 = item['class']
lst.append(class1)
return(lst)
コードを実行しようとしたとき、私は取得していますエラー/トレースバックです:
TypeError: list indices must be integers or slices, not str
だから、それのように見えますリストに文字列を追加しようとしていますが、リストは整数またはスライスだけを取ります。私はスライスが何であるかを知ることはできませんが、テキストを文字列に変換することはできません。どうすればこの問題を解決できますか?
ありがとうございます! Brendan(Python 3.6.1、Windows 10 64bit)
あなたの入力と予想される出力を教えていただきありがとうございます。これを行うために書いたコードを表示し、どこにいらっしゃるか説明してください。 –
私はTypeErrorを取得しています:リストインデックスは、strではなく、そのエラーを使用し、そのエラーを修正するためにStackOverflowでの試行を試みていない整数またはスライスでなければなりません。 – James
完全なトレースバックも編集として含めてください。 – roganjosh