MaminProgrammist
@MaminProgrammist
Я слава беброу

Как мне взять только нужные данные полученные через .ajax в jquery?

Есть такой код:
Html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
    <script type="text/javascript" src="script.js"></script>
</head>
<body>
    <p><b>Name: </b><span id="name"></span></p>
    <p><b>Region: </b><span id="region"></span></p>
    <p><b>Subregion: </b><span id="subregion"></span></p>
    <p><b>Capital: </b><span id="capital"></span></p>
    <p><b>Flag: </b><span id="flag"></span></p>
</body>
</html>

JavaScript
$(function() {
    function printCountry (response) {
        console.log(response)
    }
    
    $.ajax({
        method: 'GET',
        url: "https://restcountries.com/v3.1/name/Kyrgyzstan",
        success: printCountry
    });
})


Нужно было сделать так, чтобы в name, region и т.д. появлялись значения, которые выведутся в результате работы с .ajax. Вроде бы все просто, но проблема в том, что
$.ajax({
method: 'GET',
url: "https://restcountries.com/v3.1/name/Kyrgyzstan",
success: printCountry
});

Выводит очень длинный список инфы, которая мне не нужна:
[
    {
        "name": {
            "common": "Kyrgyzstan",
            "official": "Kyrgyz Republic",
            "nativeName": {
                "kir": {
                    "official": "Кыргыз Республикасы",
                    "common": "Кыргызстан"
                },
                "rus": {
                    "official": "Кыргызская Республика",
                    "common": "Киргизия"
                }
            }
        },
        "tld": [
            ".kg"
        ],
        "cca2": "KG",
        "ccn3": "417",
        "cca3": "KGZ",
        "cioc": "KGZ",
        "independent": true,
        "status": "officially-assigned",
        "unMember": true,
        "currencies": {
            "KGS": {
                "name": "Kyrgyzstani som",
                "symbol": "с"
            }
        },
        "idd": {
            "root": "+9",
            "suffixes": [
                "96"
            ]
        },
        "capital": [
            "Bishkek"
        ],
        "altSpellings": [
            "KG",
            "Киргизия",
            "Kyrgyz Republic",
            "Кыргыз Республикасы",
            "Kyrgyz Respublikasy"
        ],
        "region": "Asia",
        "subregion": "Central Asia",
        "languages": {
            "kir": "Kyrgyz",
            "rus": "Russian"
        },
        "translations": {
            "ara": {
                "official": "الجمهورية القيرغيزية",
                "common": "قيرغيزستان"
            },
            "ces": {
                "official": "Kyrgyzská republika",
                "common": "Kyrgyzstán"
            },
            "cym": {
                "official": "Kyrgyz Republic",
                "common": "Kyrgyzstan"
            },
            "deu": {
                "official": "Kirgisische Republik",
                "common": "Kirgisistan"
            },
            "est": {
                "official": "Kirgiisi Vabariik",
                "common": "Kõrgõzstan"
            },
            "fin": {
                "official": "Kirgisian tasavalta",
                "common": "Kirgisia"
            },
            "fra": {
                "official": "République kirghize",
                "common": "Kirghizistan"
            },
            "hrv": {
                "official": "Kirgistanu",
                "common": "Kirgistan"
            },
            "hun": {
                "official": "Kirgiz Köztársaság",
                "common": "Kirgizisztán"
            },
            "ita": {
                "official": "Kirghizistan",
                "common": "Kirghizistan"
            },
            "jpn": {
                "official": "キルギス共和国",
                "common": "キルギス"
            },
            "kor": {
                "official": "키르기스 공화국",
                "common": "키르기스스탄"
            },
            "nld": {
                "official": "Kirgizische Republiek",
                "common": "Kirgizië"
            },
            "per": {
                "official": "جمهوری قِرقیزستان",
                "common": "قرقیزستان"
            },
            "pol": {
                "official": "Republika Kirgiska",
                "common": "Kirgistan"
            },
            "por": {
                "official": "República do Quirguistão",
                "common": "Quirguistão"
            },
            "rus": {
                "official": "Кыргызская Республика",
                "common": "Киргизия"
            },
            "slk": {
                "official": "Kirgizská republika",
                "common": "Kirgizsko"
            },
            "spa": {
                "official": "República Kirguisa",
                "common": "Kirguizistán"
            },
            "swe": {
                "official": "Republiken Kirgizistan",
                "common": "Kirgizistan"
            },
            "urd": {
                "official": "جمہوریہ کرغیزستان",
                "common": "کرغیزستان"
            },
            "zho": {
                "official": "吉尔吉斯斯坦共和国",
                "common": "吉尔吉斯斯坦"
            }
        },
        "latlng": [
            41,
            75
        ],
        "landlocked": true,
        "borders": [
            "CHN",
            "KAZ",
            "TJK",
            "UZB"
        ],
        "area": 199951,
        "demonyms": {
            "eng": {
                "f": "Kirghiz",
                "m": "Kirghiz"
            },
            "fra": {
                "f": "Kirghize",
                "m": "Kirghize"
            }
        },
        "flag": "",
        "maps": {
            "googleMaps": "https://goo.gl/maps/SKG8BSMMQVvxkRkB7",
            "openStreetMaps": "https://www.openstreetmap.org/relation/178009"
        },
        "population": 6591600,
        "gini": {
            "2019": 29.7
        },
        "fifa": "KGZ",
        "car": {
            "signs": [
                "KS"
            ],
            "side": "right"
        },
        "timezones": [
            "UTC+06:00"
        ],
        "continents": [
            "Asia"
        ],
        "flags": {
            "png": "https://flagcdn.com/w320/kg.png",
            "svg": "https://flagcdn.com/kg.svg"
        },
        "coatOfArms": {
            "png": "https://mainfacts.com/media/images/coats_of_arms/kg.png",
            "svg": "https://mainfacts.com/media/images/coats_of_arms/kg.svg"
        },
        "startOfWeek": "monday",
        "capitalInfo": {
            "latlng": [
                42.87,
                74.6
            ]
        },
        "postalCode": {
            "format": "######",
            "regex": "^(\\d{6})$"
        }
    }
]

Как мне взять только нужные данные из этого огромного списка? (Используется jquery)
  • Вопрос задан
  • 88 просмотров
Решения вопроса 1
DanArst
@DanArst Куратор тега JavaScript
Гриффиндор в моде при любой погоде!
Вместо
function printCountry (response) {
    console.log(response)
}


укажи это
function printCountry (response) {        
    let result = response[0];
    let a_keys = ['name', 'region', 'subregion', 'capital', 'flag'];
      
    a_keys.forEach(function(el) {
        $('#' + el).text(el == 'name' ? result.name.common : result[el]);
    });      
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы