programing

Python의 JSON 어레이를 통한 루프

lovejava 2023. 3. 15. 17:45

Python의 JSON 어레이를 통한 루프

API에서 가져온 데이터는 다음과 같습니다.Python 스크립트를 사용하여 레스토랑 이름에 접속하여 스크립트 표시하도록 시도하고 있습니다.다음은 내 파일입니다.

test.py

with open('data.json') as data_file:    
    data = json.load(data_file)
    for restaurant in data:
        print data ['restaurants'][0]['restaurant']['name']

JSON 파일은 다음과 같습니다(간소화).

    {
  "results_found": 3296,
  "results_start": 0,
  "results_shown": 20,
  "restaurants": [
    {
      "restaurant": {
        "R": {
          "res_id": 9101083
        },
        "id": "9101083",
        "name": "My Meat Wagon",
          "address": "Market Square, Smithfield, Dublin Dublin 7",
          "locality": "Smithfield",
          "city": "Dublin",
          "city_id": 91,
          "latitude": "53.3489980000",
          "longitude": "-6.2788120000",
          "zipcode": "Dublin 7",
        "events_url": "https://www.zomato.com/dublin/my-meat-wagon-smithfield/events#tabtop?utm_source=api_basic_user&utm_medium=api&utm_campaign=v2.1",
        "establishment_types": []
      }
    },
    {
      "restaurant": {
        "R": {
          "res_id": 9101628
        },
        "id": "9101628",
        "name": "Wowburger",
        "url": "https://www.zomato.com/dublin/wowburger-temple-bar?utm_source=api_basic_user&utm_medium=api&utm_campaign=v2.1",
        "location": {
          "address": "The Workmans Club, 11 Wellington Quay, Temple Bar, Dublin Dublin 2",
          "locality": "The Workmans Club",
          "city": "Dublin",
          "city_id": 91,
          "latitude": "53.3452863158",
          "longitude": "-6.2663815543",
          "zipcode": "Dublin 2",
          "country_id": 97,
          "locality_verbose": "The Workmans Club, Dublin"
        },
        "switch_to_order_menu": 0,
        "cuisines": "Burger",
        "average_cost_for_two": 20,
        "establishment_types": []
      }
    },
    {
      "restaurant": {
        "R": {
          "res_id": 16520426
        },
        "id": "16520426",
        "name": "Brother Hubbard",
          "locality_verbose": "North City, Dublin"
        },

현재, 그것은 첫 번째 식당 이름을 세 번 표시합니다.나는 그것이 각각을 루프로 통과하기를 원한다.restaurant오브젝트 키 "name" 값을 표시합니다.어떤 도움이라도 주시면 감사하겠습니다.

언제restaurants목록입니다. 이 키를 반복해야 합니다.

for restaurant in data['restaurants']:
    print restaurant['restaurant']['name']
with open('data.json') as data_file:    
data = json.load(data_file)
for restaurant in data['restaurant']:
    print restaurant['restaurant']['name']

이렇게 하면 '레스토랑' 필드의 사전 목록에 있는 요소를 루프하여 이름을 출력할 수 있습니다.

당신은 매우 가까웠습니다.이전에는 json 파일의 모든 메인 필드를 루프하여 매번 첫 번째 레스토랑의 이름을 인쇄했습니다.data['restaurants'][0]레스토랑 리스트의 첫 번째 레스토랑을 제공합니다.매번 이름을 인쇄해 주셨어요)

언급URL : https://stackoverflow.com/questions/42445237/looping-through-a-json-array-in-python