Получить дневную ставку - Amadeus Car Rental API - PullRequest
0 голосов
/ 04 ноября 2018

У меня проблемы с получением дневной ставки в файле JSON, возвращенном из API Amadeus Car Rental API.

Я получаю код ошибки для переменной daily_price (индексы списка должны быть целыми или кусочками, а не str).

w, h = 3, i
final_list = [[0 for x in range(w)] for y in range(h)]
while z < i:
    company_name = (json_data["results"][z]["provider"]["company_name"])
    daily_price = (json_data["results"][z]["cars"]["rates"]["price"]["amount"])
    #total_price = (json_data["results"][z]["cars"]["estimated_total"]["amount"])
    final_list[z][0] = company_name
    final_list[z][1] = daily_price
    #final_list[z][1] = total_price
    final_list[z][2] = z
    z = z + 1
return HttpResponse(final_list)

Я видел это раньше, когда не правильно перемещался по структуре JSON. Я перепробовал несколько форматов, но не уверен, что получу дневную норму, вложенную в JSON.

"results" : [ {
    "provider" : {
      "company_code" : "ZU",
      "company_name" : "AUTO EUROPE"
    },
    "branch_id" : "SLCT01",
    "location" : {
      "latitude" : 40.78994,
      "longitude" : -111.98125
    },
    "airport" : "SLC",
    "address" : {
      "line1" : "SALT LAKE CITY INTERNATIONAL AIRPORT",
      "city" : "SALT LAKE CITY",
      "country" : "US"
    },
    "cars" : [ {
      "vehicle_info" : {
        "acriss_code" : "ED",
        "transmission" : "No information available",
        "fuel" : "No information available",
        "category" : "Economy",
        "type" : "4-5 Door"
      },
      "rates" : [ {
        "type" : "DAILY",
        "price" : {
          "amount" : "26.00",
          "currency" : "USD"
        }
      } ],

1 Ответ

0 голосов
/ 04 ноября 2018

вы пропустили, что некоторые из них являются диктатом в списке

daily_price = json_data["results"][z]["cars"][0]["rates"][0]["price"]["amount"]
...