私はdictからデータを解析しようとしています。以下はdictです。Pythonでネストされたdictからデータを取得する
data = {'specs': u'{"software_addon": None,
"checkout_os":
{12L: {"status": 3L, "units": 1L, "label": "Disk1", "orderproduct_id": 22L, "slider_id": 788L, "unitPrice": 0.3},
15L: {"status": 3L, "units": 60L, "label": None, "orderproduct_id": 22L, "slider_id": 787L, "unitPrice": 0.3}},
"checkout_op": {"pk": 11L, "total_price": 90.3, "discount_price": 80.3, "monthly_fee": 80.3},
"virtualmachine_vm": {"pk": 15L, "diskGB": 101L, "memoy_size": 3221225472L, "num_cpu": 2L},
"checkout_o": {"pk": 74L, "grand_total": 180.3, "discount_price": 180.3}
}',
'id': 411L, 'name': u'name-7xccf'}
データを取得しようとすると、エラーが発生します。
print data['specs']['virtualmachine_virtualmachines']['pk']
エラー:文字列のインデックスは、私はそれを試してみました(でも、イーストウッドの提案で)あなたと同じエラーを得た
印刷データ[ 'スペック'] [ 'virtualmachine_vm'] [ 'PK'] – Eastwood
データ[ "スペック"]あなたの例では文字列がある働いた、それは期待しdata ['specs'] [2]のようにintでインデックス付けされる文字列。おそらくいくつかの引用符を削除する必要があります。 – meggar