私のコントローラーでは、json文字列を取得しています(c.order_history
次のように呼び出されます:
[
{
"status": [
{
"status": "created",
"timestamp": "2012-04-06 00:14:10"
},
{
"status": "authed",
"timestamp": "2012-04-06 00:14:17"
}
],
"product_info": [
{
"id": 3,
"quantity": 1,
"created": "2012-04-06 00:14:10",
"image_id": 13341
},
{
"id": 2,
"quantity": 1,
"created": "2012-04-06 00:14:10",
"image_id": 13323
},
{
"id": 1,
"quantity": 1,
"created": "2012-04-06 00:14:10",
"image_id": 13322
}
],
"shipping_charge": "0.00",
"order_number": "0723094747433",
"shipping_address": {
"country_code": null,
"extended_address": "Unit Z",
"locality": "Las Vagas",
"company": null,
"phone": null,
"postal_code": "31415",
"full_name": "Boris Karloff",
"nickname": null,
"region": "NV",
"street_address": "123 Random Way"
},
"subtotal": "59.00"
}
]
私はそれを渡してjson.loads(order_history)
辞書に変換し、次に各キーを抽出して、それらの中で後続のキー/値を取得できるようにします:
c.product_info = [{'product_info' : product_info} for product_info in c.order_history]
これはjson文字列全体を出力しますが、product_info
今は名前が付けられています. timestamp
誰かが、たとえば値product_info[0]['image_id']
や値などにアクセスする方法について正しい方向に導くことができますshipping_address
か?