Skip to content

Latest commit

 

History

History
165 lines (125 loc) · 6.72 KB

analyze-json-response.md

File metadata and controls

165 lines (125 loc) · 6.72 KB

Анализ JSON ответов

JSON является наиболее распространенным форматом ответов API REST. Посмотрим на ответ JSON для конечной точки прогноза погоды OpenWeatherMap более детально, различая массивы и объекты в JSON.

Ответ JSON от конечной точки прогноза погоды OpenWeatherMap

Объект JSON это пара ключ-значение

Массив JSON это списки пунктов

Состав объектов в массиве и массивов в объекте

Изучаем ответ прогноза погоды

Дополнительная информация

Ответ JSON от конечной точки прогноза погоды OpenWeatherMap

JSON расшифровывается как JavaScript Object Notation. Это наиболее распространенный способ возврата информации API REST. Несмотря на то, что некоторые API возвращают информацию как в JSON, так и в XML, лучше использовать JSON для анализа ответа и отображения его на веб-странице. Так как JSON намного лучше вписывается в существующую технологию JavaScript + HTML + CSS, которая поддерживает большинство веб-страниц/ С помощью JavaScript вы можете легко анализировать JSON и интегрировать его в свой веб-контент.

Развернутый ответ от конечной точки прогноза погоды OpenWeatherMap будет выглядеть примерно так:

{
    "coord": {
        "lon": -121.96,
        "lat": 37.35
    },
    "weather": [
        {
            "id": 801,
            "main": "Clouds",
            "description": "few clouds",
            "icon": "02d"
        }
    ],
    "base": "stations",
    "main": {
        "temp": 70.14,
        "pressure": 1012,
        "humidity": 33,
        "temp_min": 62.6,
        "temp_max": 75.2
    },
    "visibility": 16093,
    "wind": {
        "speed": 14.99,
        "deg": 330
    },
    "clouds": {
        "all": 20
    },
    "dt": 1522619760,
    "sys": {
        "type": 1,
        "id": 479,
        "message": 0.0058,
        "country": "US",
        "sunrise": 1522590707,
        "sunset": 1522636288
    },
    "id": 420006397,
    "name": "Santa Clara",
    "cod": 200
}

Проанализируем структуру информации этого ответа ниже.

Объект JSON это пара ключ-значение

JSON в совей структуре имеет две базовые сущности:

  • объект;
  • массив.

Объект представляет собой набор пар ключ-значение, заключенных в фигурные скобки:

{
    "key1": "value1",
    "key2": "value2"
}

Каждая пара ключ-значение заключена в двойные кавычки, и являются строками. Если значение представляет собой integer (целое число) или Boolean (значение true или false), то у значения двойные кавычки не ставятся. Каждая пара ключ-значение отделяется от следующей запятой.

Массив JSON это списки элементов

Массивом в JSONe является список элементов, заключенных в квадратные скобки:

["first", "second", "third"]

Список элементов может содержать строки, числа, логические значения, массивы или другие объекты. Для целочисленных или логических значений кавычки не используются.

Массив целых чисел:

[1, 2, 3]

Массив логических значений:

[true, false, true]     

Состав объектов в массиве и массивов в объекте

JSON может содержать объекты и массивы внутри друг друга. Пример массива объектов:

[
    object,
    object,
    object
]

Пример со значениями:

[  
    {  
        "name":"Tom",
        "age":39
    },
    {  
        "name":"Shannon",
        "age":37
    }
]

Объекты могут содержать массивы в части значения пары ключ-значение:

{
    "children": ["Avery","Callie","lucy","Molly"],
    "hobbies": ["swimming","biking","drawing","horseplaying"]
}

Нужно помнить, что объекты заключаются в фигурные скобки {} и содержат пары ключ-значение. Иногда эти значения могут являться массивами. Массивы представляют собой списки и заключаются в квадратные скобки []. Обычно массивы содержат списки объектов, а объекты - массивы.

Важно понимать разницу между объектами и массивами, потому что это определяет способ доступа и отображения информации. Упражнения с точечной нотацией. которые будут дальше потребуют понимания этой разницы.

Изучаем ответ прогноза погоды

Посмотрим на ответ конечной точки погоды API OpenWeatherMap. Что является объектами? Где находятся массивы? Какие объекты являются вложенными? Какие значения являются логическими значениями а какие строками?

Дополнительная информация

Для дополнительной информации и понимании формата JSON можно изучить страницу json.com

🔙

Go next ➡