Основы проектирования интерфейсов программных систем


Download 1.12 Mb.
Pdf ko'rish
bet22/24
Sana16.06.2023
Hajmi1.12 Mb.
#1492795
TuriУчебно-методическое пособие
1   ...   16   17   18   19   20   21   22   23   24
Bog'liq
1-Kitob

4.
JSON 
JSON – JavaScript Object Notation – 
общий формат для отправки и 
приема данных посредством REST API. Ответ, отправляемый Github
также содержится в формате JSON. 
JSON-
текст представляет собой (в закодированном виде) одну из 
двух структур: 
– 
набор пар ключ: значение. В различных языках это реализовано 
как объект, запись, структура, словарь, хэш-таблица, список с ключом или
ассоциативный массив. Ключом может быть только строка (регистрозави-
симая: имена с буквами в разных регистрах считаются разными), значе-
нием – любая форма; 
– 
упорядоченный набор значений. Во многих языках это реализо-
вано как массив, вектор, список или последовательность. 
В качестве значений в JSON могут быть использованы: 
– 
объект – это неупорядоченное множество пар ключ: значение
заключенное в фигурные скобки «{ }». Ключ описывается строкой, 
между ним и значением стоит символ «:». Пары ключ-значе-
ние отделяются друг от друга запятыми; 
– 
массив (одномерный) – это упорядоченное множество значе-
ний. Массив заключается в квадратные скобки «[ ]». Значения разделя-
ются запятыми; 
– 
число
– 
литералы true, false и null. 
Строка – это упорядоченное множество из нуля или более симво-
лов юникода, заключенное в двойные кавычки. Символы могут быть 
указаны с использованием escape-последовательностей, начинающихся 
с обратной косой черты «\»(поддерживаются варианты \', \", \\, \/, \t, \n, \r, 
\
f и \b), или записаны шестнадцатеричным кодом в кодировке Unicode  
в виде \uFFFF. 
Строка очень похожа на одноименный тип данных в языках С  
и Java. Число тоже очень похоже на С- или Java-число, за исключением 
того, что используется только десятичный формат. Пробелы могут быть 
вставлены между любыми двумя синтаксическими элементами. 
Следующий пример показывает JSON-представление объекта, опи-
сывающего человека. В объекте есть строковые поля имени и фамилии, 
объект, описывающий адрес, и массив, содержащий список телефонов. 


42 
Как видно из примера, значение может представлять собой вло-
женную структуру. 

"firstName": "Иван", 
"lastName": "Иванов", 
"address": { 
"streetAddress": "Московское ш., 101, кв.101", 
"city": "Ленинград", 
"postalCode": "101101" 
}, 
"phoneNumbers": [ 
"812 123-1234", 
"916 123-4567" 


Обратите внимание на пару "postalCode": "101101". В качестве зна-
чений в JSON могут быть использованы как число, так и строка. Поэтому 
запись "postalCode": "101101" содержит строку, а "postalCode": 101101 – 
уже числовое значение. Учитывая неопределенность типа переменных в JS 
(определены только типы значений), в дальнейшем, как правило, не возни-
кает проблем с приведением типа. Но если данные в формате JSON обра-
батываются в другой среде, отличной от JS, то нужно быть внимательным. 
На языке XML подобная структура выглядела бы примерно так: 
<
person> 
Иван 
Иванов 
 
Московское ш., 101, кв.101 
Ленинград 
101101
 
812 123-1234
916 123-4567
или так: 
<
person firstName="Иван" lastName="Иванов"> 
alCode="101101" /> 
812 123-1234
916 123-4567


43 

Download 1.12 Mb.

Do'stlaringiz bilan baham:
1   ...   16   17   18   19   20   21   22   23   24




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling