如何在javascript中获取JSON键和值并选择某些值?

问题描述 投票:0回答:1

我正在尝试从 GitHub 公共 URL API (Ryanair) 提取 JSON 键值对以在 HTML 中显示特定值,但遇到了困难。我将 JSON 数据存储在“data”变量中,目前正在打印所有数据。但是,我的目标是仅提取某些关键值。

JSON 结构:

{
  "total": 1,
  "arrivalAirportCategories": null,
  "fares": [
    {
      "outbound": {
        "departureAirport": {
          "countryName": "Italia",
          "iataCode": "CTA",
          "name": "Catania",
          "seoName": "catania",
          "city": {
            "name": "Catania",
            "code": "CATANIA",
            "countryCode": "it"
          }
        },
        "arrivalAirport": {
          "countryName": "Hungría",
          "iataCode": "BUD",
          "name": "Budapest",
          "seoName": "budapest",
          "city": {
            "name": "Budapest",
            "code": "BUDAPEST",
            "countryCode": "hu"
          }
        },
        "departureDate": "2021-12-28T19:45:00",
        "arrivalDate": "2021-12-28T21:50:00",
        "price": {
          "value": 60,
          "valueMainUnit": "60",
          "valueFractionalUnit": "00",
          "currencyCode": "EUR",
          "currencySymbol": "€"
        },
        "flightKey": "FR~6279~ ~~CTA~12/28/2021 19:45~BUD~12/28/2021 21:50~~",
        "flightNumber": "FR6279",
        "sellKey": "0~C~ ~FR~CZ7LOW~BND7~~0~14~~X",
        "previousPrice": {
          "value": 60,
          "valueMainUnit": "60",
          "valueFractionalUnit": "00",
          "currencyCode": "EUR",
          "currencySymbol": "€"
        },
        "priceUpdated": 1630397463
      },
      "inbound": {
        "departureAirport": {
          "countryName": "Hungría",
          "iataCode": "BUD",
          "name": "Budapest",
          "seoName": "budapest",
          "city": {
            "name": "Budapest",
            "code": "BUDAPEST",
            "countryCode": "hu"
          }
        },
        "arrivalAirport": {
          "countryName": "Italia",
          "iataCode": "CTA",
          "name": "Catania",
          "seoName": "catania",
          "city": {
            "name": "Catania",
            "code": "CATANIA",
            "countryCode": "it"
          }
        },
        "departureDate": "2022-01-04T17:10:00",
        "arrivalDate": "2022-01-04T19:15:00",
        "price": {
          "value": 60,
          "valueMainUnit": "60",
          "valueFractionalUnit": "00",
          "currencyCode": "EUR",
          "currencySymbol": "€"
        },
        "flightKey": "FR~6278~ ~~BUD~01/04/2022 17:10~CTA~01/04/2022 19:15~~",
        "flightNumber": "FR6278",
        "sellKey": "0~C~ ~FR~CZ7LOW~BND7~~0~13~~X",
        "previousPrice": {
          "value": 60,
          "valueMainUnit": "60",
          "valueFractionalUnit": "00",
          "currencyCode": "EUR",
          "currencySymbol": "€"
        },
        "priceUpdated": 1630395258
      },
      "summary": {
        "price": {
          "value": 120,
          "valueMainUnit": "120",
          "valueFractionalUnit": "00",
          "currencyCode": "EUR",
          "currencySymbol": "€"
        },
        "previousPrice": {
          "value": 120,
          "valueMainUnit": "120",
          "valueFractionalUnit": "00",
          "currencyCode": "EUR",
          "currencySymbol": "€"
        },
        "newRoute": false,
        "tripDurationDays": 7
      }
    }
  ],
  "size": 1
}

我想访问这些值:

fares.outbound.departureAirport.name;
fares.outbound.arrivalAirport.name;
fares.outbound.departureDate;
fares.outbound.price.value
javascript json object
1个回答
1
投票

fares
是一个数组,所以,

fares.forEach((fare) => {
  console.log(fare.outbound.departureAirport.name);
  console.log(fare.outbound.arrivalAirport.name);
  console.log(fare.outbound.departureDate);
  console.log(fare.outbound.price.value);
})
© www.soinside.com 2019 - 2024. All rights reserved.