Json описание. JavaScript - JSON и методы работы с ним. Простой пример JSON данных
JSON - это текстовый формат записи данных.
Он позволяет в текстовом виде представить как отдельное число или строку, так и сложные структуры, например, массивы с данными. Использование этого формата записи удобно тем, что он читабелен и интуитивно понятен, в то же время позволяет сохранять очень сложные структуры данных. Кроме того, он более компактный, чем xml, поэтому на мой взгляд более предпочтителен для обмена данными между веб-браузером и сервером.
Синтаксис JSON на примерах
Формат json обычно записывается в 2-х вариантах:
1. Последовательность значений. Например, последовательность 10, 15 и "test" в формате JSON будут выглядеть так:
В языке php начиная с версии 5.2. есть всего 4 функции:
json_decode
- Декодирует строку JSON (из строки json-формата получает данные)
json_encode
- Возвращает JSON-представление данных (преобразует данные в json-строку)
json_last_error_msg
- Возвращает строку с сообщением об ошибке последнего вызова json_encode() или json_decode()
json_last_error
- Возвращает последнюю ошибку
В основном по-большей части, используются всего две функции: json_encode
и json_decode
. Не буду вдаваться в подробности их синтаксиса, подробнее можете посмотреть на php.net . Пример использования:
Обратите внимание
: при кодировании в JSON-формат данных на русском языке
, функция json_encode преобразует русские символы в юникод
, т.е. заменяет их на \uXXXX
и таким образом, json-строка становится не читабельной для человека (но понятной для браузера). Если нужно, чтобы преобразования в юникод не происходило (например, при отладке кода), можно просто использовать опцию JSON_UNESCAPED_UNICODE.
Так же, чтобы при кодировании не добавлялись слэши для экранирования и чтобы строки с числами кодировались как числа, можно использовать JSON_UNESCAPED_SLASHES и JSON_NUMERIC_CHECK. В итоге, чтобы json-строка была читабельной для человека, сделаем, например, так:
Еще один момент: если нужно чтобы при декодировании json-строки функция json_decode возвращала именно массив
, просто добавьте второй параметр в функцию равный true.
Начнем с того, что JSON-формат, изначально был придуман для языка JavaScript и потом стал просто отдельным текстовым форматом, используемым в разных языках. Видимо, поэтому синтаксис JSON очень похож на синтаксис записи обычных объектов и массивов.
// Пример массива в JavaScript
arr = ;
alert(arr); // выведет 1
// Пример объекта в JavaScript
obj = {
"name": "Вася",
"age": 35,
"isAdmin": false
}
alert(obj.name); // выведет "Вася"
Функции JavaScript, используемые для преобразования в JSON-формат и обратно:
JSON.parse
- декодирование JSON-строки (преобразование строки в объекты и/или массивы)
JSON.stringify
- возвращает JSON-представление данных (преобразование объектов и/или массивов в json-строку)
Простой пример декодирования json-строки в массив с цифрами:
При сериализации (преобразовании) объекта в JSON-строку, вызывается метод toJSON
этого объекта, если он существует. Если метода нет, тогда перечисляются все свойства объекта. Пример преобразования объекта с методом toJSON:
Собственно, лично я, применяю формат JSON в 2-х основных ситуациях:
1. Передача данных между браузером и сервером с использованием Ajax-запросов.
Например, у нас есть какая-то страница, на которой нужно обновить данные без перезагрузки страницы. Допустим, нужно чтобы с сервера "подгрузилась" информация со списком сотрудников и их данными.
В JavaScript с помощью jQuery делаем простой и выводим данные в виде таблицы в браузер:
$.getJSON("get-info.php").success(function(data) { // ajax-запрос, данные с сервера запишутся в переменную data
htmlstr = "
Я специально не стал показывать строку в виде "дерева", т.к. она передается именно в таком виде. И как вы можете оценить, запись данных в формате JSON получилась очень компактной
, а это значит, что передача этих данных от сервера к браузеру будет практически мгновенной.
2. Запись сложных структур данных в базу данных.
Иногда бывают ситуации, когда заводить еще одну таблицу в базе данных не целесообразно, чтобы сохранить различные данные. Допустим, предположим, у зарегистрированного на сайте пользователя есть возможность сделать настройку цвета фона и цвета текста.
Вместо того, чтобы заводить еще одну таблицу ради 2-х настроек, можно просто в таблице со списком пользователей сделать текстовый столбец, в который помещать данные настроек пользователя. Тогда запрос обновления настроек, может например, быть таким:
UPDATE users SET settings = "{"background-color":"#FFFFFF", "text-color":"#000000"}" WHERE user_id = 10
В будущем, получив из таблицы users
информацию, скрипт php может легко превратить их обратно в массив с настройками. Например, если переменная $user_info содержит данные, полученные по пользователю из таблицы users, получить массив с настройками очень просто:
Таким образом, как видно из примеров, в формате JSON можно хранить и передавать практически любую информацию.
Наверняка вы когда-нибудь слышали о JSON. Что же это такое? Что он может и как его использовать?
В данном уроке мы расскажем об основах JSON и раскроем следующие пункты:
Что такое JSON?
Для чего используется JSON?
Как создать строку JSON?
Простой пример строки JSON.
Сравним JSON и XML.
Как работать с JSON в JavaScript и PHP?
Что такое JSON?
JSON - простой, основанный на использовании текста, способ хранить и передавать структурированные данные. С помощью простого синтаксиса вы можете легко хранить все, что угодно, начиная от одного числа до строк, массивов и объектов, в простом тексте. Также можно связывать между собой массивы и объекты, создавая сложные структуры данных.
После создания строки JSON, ее легко отправить другому приложению или в другое место сети, так как она представляет собой простой текст.
JSON имеет следующие преимущества:
Он компактен.
Его предложения легко читаются и составляются как человеком, так и компьютером.
Его легко преобразовать в структуру данных для большинства языков программирования (числа, строки, логические переменные, массивы и так далее)
Многие языки программирования имеют функции и библиотеки для чтения и создания структур JSON.
Название JSON означает JavaScript Object Notation (представление объектов JavaScript). Как и представляет имя, он основан на способе определения объектов (очень похоже на создание ассоциативных массивов в других языках) и массивов.
Для чего используется JSON?
Наиболее частое распространенное использование JSON - пересылка данных от сервера к браузеру. Обычно данные JSON доставляются с помощью AJAX , который позволяет обмениваться данными браузеру и серверу без необходимости перезагружать страницу.
Пользователь нажимает миниатюру продукта в онлайн магазине.
JavaScript, выполняющийся на браузере, генерирует запрос AJAX к скрипту PHP, запущенному на сервере, передавая ID выбранного продукта.
Скрипт PHP получает название продукта, описание, цену и другую информацию из базы данных. Затем составляет из данных строку JSON и отсылает ее браузеру.
JavaScript, выполняющийся на браузере, получает строку JSON, декодирует ее и выводит информацию о продукте на странице для пользователя.
Также можно использовать JSON для отправки данных от браузера на сервер, передавая строку JSON в качестве параметра запросов GET или POST. Но данный метод имеет меньшее распространение, так как передача данных через запросы AJAX может быть упрощена. Например, ID продукта может быть включен в адрес URL как часть запроса GET.
Библиотека jQuery имеет несколько методов, например, getJSON() и parseJSON() , которые упрощают получение данных с помощью JSON через запросы AJAX.
Как создать строку JSON?
Есть несколько основных правил для создания строки JSON:
Строка JSON содержит либо массив значений, либо объект (ассоциативный массив пар имя/значение).
Массив
заключается в квадратные скобки ([ и ]) и содержит разделенный запятой список значений.
Объект
заключается в фигурные скобки ({ и }) и содержит разделенный запятой список пар имя/значение.
Пара имя/значение
состоит из имени поля, заключенного в двойные кавычки, за которым следует двоеточие (:) и значение поля.
Значение
в массиве или объекте может быть:
Числом (целым или с плавающей точкой)
Строкой (в двойных кавычках)
Логическим значением (true или false)
Другим массивом (заключенным в квадратные скобки)
Другой объект (заключенный в фигурные скобки)
Значение null
Чтобы включить двойные кавычки в строку, нужно использовать обратную косую черту: \" . Так же, как и во многих языках программирования, можно помещать управляющие символы и шестнадцатеричные коды в строку, предваряя их обратной косой чертой. Смотрите детали на сайте JSON .
Простой пример строки JSON
Ниже приводится пример оформления заказа в формате JSON:
Мы создаем объект с помощью фигурных скобок ({ и }).
В объекте есть несколько пар имя/значение: "orderID": 12345 Свойство с именем "orderId" и целочисленным значением 12345 "shopperName": "Ваня Иванов" свойство с именем "shopperName" и строковым значением "Ваня Иванов" "shopperEmail": "[email protected]" Свойство с именем "shopperEmail" и строковым значением "[email protected]" "contents": [ ... ] Свойство с именем "contents" , значение которого является массивом "orderCompleted": true Свойство с именем "orderCompleted" и логическим значением true
В массиве "contents" есть 2 объекта, представляющие отдельные позиции в заказе. Каждый объект содержит 3 свойства: productID , productName , и quantity .
Кстати, так как JSON основан на объявлении объектов JavaScript, то вы можете быстро и просто сделать выше приведенную строку JSON объектом JavaScript:
Во многих отношениях вы можете рассматривать JSON как альтернативу XML, по крайней мере, в сфере веб приложений. Концепция AJAX оригинально основывалась на использовании XML для передачи данных между сервером и браузером. Но в последние годы JSON становится все более популярным для переноса данных AJAX.
Хотя XML является проверенной технологией, которая используется в достаточном количестве приложений, преимуществами JSON являются более компактный и простой для распознавания формат данных.
Вот как будет выглядеть выше приведенный пример объекта на XML:
Версия XML имеет существенно больший размер. В действительности она имеет длину 1128 символов, а вариант JSON - только 323 символа. Версию XML также достаточно трудно воспринимать.
Конечно, это радикальный пример. И возможно создать более компактную запись XML. Но даже она будет существенно длиннее эквивалента на JSON.
Работаем со строкой JSON в JavaScript
JSON имеет простой формат, но создавать строку JSON вручную достаточно утомительно. Кроме того, часто нужно взять строку JSON, конвертировать ее содержание в переменную, которую можно будет использовать в коде.
Большинство языков программирования имеют инструменты для простого преобразования переменных в строки JSON и наоборот.
Создаем строку JSON из переменной
JavaScript имеет встроенный метод JSON.stringify() , который берет переменную и возвращает строку JSON, представляющую ее содержание. Например, создадим объект JavaScript, который содержит сведения о заказе из нашего примера, а затем создадим из него строку JSON:
Обратите внимание, что метод JSON.stringify() возвращает строку JSON без пробелов. Ее сложнее читать, но зато она более компактна для передачи через сеть.
Существует несколько способов разобрать строку JSON в JavaScript, но самый безопасный и надежный - использовать встроенный метод JSON.parse() . Он получает строку JSON и возвращает объект или массив JavaScript, который содержит данные. Например:
Мы создали переменную jsonString , которая содержит строку JSON нашего примера с заказом. Затем мы передаем данную строку методу JSON.parse() , который создает объект, содержащий данные JSON и сохраняет его в переменной cart . Остается только осуществить проверку, выведя свойства объекта shopperEmail и productName массива contents .
В результате мы получим следующий вывод:
В реальном приложении ваш JavaScript код будет получать заказ в виде строки JSON в AJAX ответе от скрипта сервера, передавать строку методу JSON.parse() , а затем использовать данные для отображения на странице пользователя.
JSON.stringify() и JSON.parse() имеют другие возможности, такие как использование возвратных функций для пользовательской конвертации определённых данных. Такие опции очень удобны для конвертации различных данных в правильные объекты JavaScript.
Работаем со строкой JSON в PHP
PHP, как и JavaScript, имеет встроенные функции для работы с JSON строками.
Создаем строку JSON из переменной PHP
Функция json_encode() принимает переменную PHP и возвращает строку JSON, представляющую содержание переменной. Вот наш пример с заказом, написанный на PHP:
Данный код возвращает абсолютно такую же строку JSON, как и в примере с JavaScript:
В реальном приложении ваш скрипт PHP пришлет данную строку JSON как часть AJAX ответа браузеру, где JavaScript код с помощью метода JSON.parse() преобразует ее обратно в переменную для вывода на странице пользователя.
Вы может передавать различные флаги в качестве второго аргумента функции json_encode() . С их помощью можно изменять принципы кодирования содержания переменных в строку JSON.
Создаем переменную из строки JSON
Для преобразования строки JSON в переменную PHP используется метод json_decode() . Заменим наш пример для JavaScript с методом JSON.parse() на код PHP:
По умолчанию функция json_decode() возвращает объекты JSON как объекты PHP. Существуют обобщенные объекты PHP класса stdClass . Поэтому мы используем -> для доступа к свойствам объекта в примере выше.
Если вам нужен объект JSON в виде ассоциированного массива PHP, нужно передать true в качестве второго аргумента функции json_decode() . Например:
Также функции json_decode() можно передавать другие аргументы для указания глубины рекурсии и способов обработки больших целых чисел.
Заключение
Хотя JSON прост для понимания и использования, он является очень полезным и гибким инструментом для передачи данных между приложениями и компьютерами, особенно при использовании AJAX. Если вы планируете разрабатывать AJAX приложение, то нет сомнений, что JSON станет важнейшим инструментом в вашей мастерской.
JSON
(JavaScript Object Notation) - простой формат обмена данными,
удобный для чтения и написания как человеком, так и компьютером.
Он основан на подмножестве языка программирования JavaScript ,
определенного в стандарте
ECMA-262 3rd Edition - December 1999 . JSON - текстовый формат, полностью независимый от языка реализации,
но он использует соглашения, знакомые программистам C-подобных языков, таких как C, C++, C#, Java, JavaScript,
Perl, Python и многих других. Эти свойства делают JSON идеальным языком обмена данными.
JSON основан на двух структурах данных:
Коллекция пар ключ/значение. В разных языках, эта концепция реализована как объект
, запись, структура,
словарь, хэш, именованный список или ассоциативный массив.
Упорядоченный список значений. В большинстве языков это реализовано как массив
, вектор, список или последовательность.
Это универсальные структуры данных. Почти все современные языки программирования поддерживают их в какой-либо форме.
Логично предположить, что формат данных, независимый от языка программирования, должен быть основан на этих структурах.
В нотации JSON это выглядит так:
Объект
- неупорядоченный набор пар ключ/значение. Объект начинается с { открывающей
фигурной скобки и заканчивается } закрывающей фигурной скобкой. Каждое имя
сопровождается: двоеточием, пары ключ/значение разделяются, запятой.
Массив
- упорядоченная коллекция значений. Массив начинается с [ открывающей
квадратной скобки и заканчивается ] закрывающей квадратной скобкой.
Значения разделены, запятой.
Значение
может быть строкой
в двойных кавычках, числом
, true , false ,
null , объектом
или массивом
. Эти структуры могут быть вложенными.
Строка
- коллекция нуля или больше символов Unicode, заключенная в двойные кавычки, используя
\ обратную косую черту в качестве символа экранирования.
Символ представляется как односимвольная строка. Похожий синтаксис используется в C и Java.
Число
представляется так же, как в C или Java, кроме того, что используется толко десятичная система счисления.
Пробелы могут использоваться между любыми лексемами.
Исключая некоторые детали кодирования, вышеизложенное полностью описывает язык.
Переменные, массивы и объекты - привычная и удобная форма представления данных. Описывать данные принято в языке браузера JavaScript, что делать не обязательно в языке сервера PHP. Формат JSON позволяет обобщить их в одно целое и не делать акцент на языке программирования. При этом данные превращаются в пары: "имя = значение". Значение в каждой из них также может быть совокупностью таких пар.
Принято JSON ассоциировать с фигурными скобками и Последнее вполне обосновано, так как формат JSON = Object Notation JavaScript. В последние особенно динамичные годы многое изменилось. Что создавалось ради конкретной цели, часто приносило неожиданные плоды или открывало новые горизонты.
Обмен данными: браузер - сервер
Технология AJAX стала традиционной, обычное обновление страницы целиком
перестало пользоваться популярностью. Посетитель, открывая сайт, инициирует серию частичных обменов данными, когда те или иные страницы меняются только в том месте, которое актуально.
Считается, что появление JSON связано с использованием именно AJAX, но на самом деле ассоциативные и его объектная нотация (особенности синтаксиса описания и использования объектов) имеют гораздо более родственное отношение к JSON, чем обмен данными между браузером и сервером.
Так как контент страниц современных сайтов действительно стал «массивным» (объемным), то и эффективность формата для обмена данными приобрела особое значение. Нельзя сказать, что JSON стал новым представлением данных, но то что он давно был элементом синтаксиса JavaScript, имеет существенное значение.
Использование кириллицы в именовании переменных - очень неожиданное явление (нонсенс), но это работает в последних версиях Chrome, Firefox и, даже, в Internet Explorer 11.
Кириллица и JSON
Разумеется, использовать это совершенно неожиданное явление не стоит, припоминая, как легко значения переменных, записанные русскими буквами, превращаются в кракозябры: что тут говорить про имена, особенно внешние.
Сомнительно, что инициативу в кириллических именах поддержит внешнее окружение браузера, с которым ему постоянно приходится иметь дело. Но этот факт заслуживает внимания по той простой причине, что JSON формат - это возможность писать имена и значения так, как угодно разработчику. Это принципиально, поскольку в каждой задаче описание области применения так, как она этого требует, существенно упрощает отладку и уменьшает количество ошибок.
Не важно, какое именно имело под собой основание синтаксическое новшество - JSON, важно, что оно дало законное право и реальную возможность поставить соответствие: "любое имя = любое значение".
Надо отдать должное языку JavaScript: то, что предусмотрено синтаксисом, не обязывает разработчика и ничего ему не навязывает. Разработчик свободно использует синтаксис языка для оптимального формирования модели данных и алгоритма их использования.
PHP и JSON
Принимая данные в формате JSON, сервер (посредством PHP, в частности) предоставляет возможность их обрабатывать как есть и возвращать обратно в браузер результат в аналогичном формате. Исходный массив PHP:
Преобразование в формат JSON для передачи в браузер:
$cJS = json_encode($cJSON
).
Результат:
{"a":"alfa","b":"beta","g":"gamma"}.
Допускается изображенная на фото вложенность.
Здесь сформированный массив был добавлен новым элементом «сам в себя» с автоматическим индексом "0", а затем еще раз с указанным индексом "z".
Json_decode() выполняет преобразование строки JSON в массив PHP. Аналогичных результатов можно добиться, манипулируя функциями и explode(). В некоторых случаях этот вариант предпочтительнее.
Уровень вложенности
Элементы могут быть вложены друг в друга как на стороне браузера, так и на стороне сервера. На практике формат JSON (описание стандарта RFC 4627) предоставляет значительно более 4 уровней вложенности, но не следует злоупотреблять этой возможностью.
Лучше всего никогда не выходить за пределы разумной достаточности, это делает код читабельным, упрощает его отладку и понимание другими разработчиками.
JSON принято относить к конструкциям данных, которые проще XML, понятны одновременно и людям, и компьютерам. Это действительно так, когда объем данных мал, а уровень вложенности разработчик выбрал грамотно. Во всех остальных случаях считать количество скобок и понимать сложно как на стороне браузера, так и на стороне сервера.
Файлы JSON
Применение JSON на практике часто не ограничивается доступной восприятию короткой строкой. Любые конструкции данных всегда носят прагматичный характер. При этом JSON может эффективно применяться как в реальных данных задачи (штат предприятия), так и для реализации временных данных (кэш объекта).
Штат предприятия и JSON-формат: пример
Обычно запись об одном человеке - это фамилия, имя, отчество, год рождения, специальность, образование, ... и несколько еще простеньких значений. Даже в особо требовательных компаниях запись об одном человеке не будет превышать десятка-двух полей. Это доступно восприятию и может быть помещено в строку базы данных.
Если в компании работает несколько человек - это одно, но если десятки тысяч - это совсем другое. Можно продолжать использовать базу данных, но хранение ее в виде файла выглядит практичнее и доступнее для использования.
JSON - это обычный текстовый файл. Случай со штатным расписанием, куда ни шло. Прочитать его всегда можно. Открыть и изменить также доступно в любом текстовом редакторе, который не имеет привычки добавлять свою служебную информацию в содержание файла. Вообще, *.json - это чистый текст как внутри браузера, так и внутри файла - строка.
На фото представлен кэш объекта, формирующего картинку, пример.
Это пример содержания файла, сформированного сайтом, предоставляющим услугу цветной объемной печати на кружках и керамических изделиях. Естественно, решить, имея такой JSON-формат, чем открыть его, действительно проблематично. Однако в этом и подобных случаях проблем с чтением файла не возникает: PHP читает файл, разбирает его и передает в браузер. Изменённые посетителем данные возвращаются на сервер и записываются обратно.
В таком варианте использования файл выступает как переменная, которая хранится вне кода. При необходимости, переменная получает значение из файла, а если она будет изменена посетителем в диалоге, предусмотренном сайтом, то все изменения запишутся как есть. Нет необходимости читать и проверять содержимое файла.
JSON часто используется для хранения и использования служебной информации - это не штатное расписание, его не обязательно видеть ни разработчику, ни посетителю сайта.
XML и JSON
"Всему свое время" - классическое знание, принятое за аксиому еще до появления программирования. "Ни что не появляется просто так", - это тоже было до того, как человек написал первую вразумительную программу на искусственном языке.
Форматы данных появляются от реальной потребности и основываются на достигнутых знаниях. У HTML - своя стезя, у XML - своя дорога, а JSON - это объектная логика JavaScript, расширенная на другие языки. Сравнивать одно с другим не лучшее занятие. Каждому свое.
XML чудесно справляется со своими задачами и уходить в историю явно не собирается. А JSON использовался и до 2006 года, просто не каждый разработчик считал своим долгом декларировать те или иные варианты представления своих данных.
Имелись случаи в практике, когда на бэйсике были написаны программы, не использующие JSON как таковой, но прекрасно хранящие пары "имя = значение" и предоставляющие их в распоряжение нужным алгоритмам в нужное время.
Спецсимволы («`», «~», «|», ...) и форматы данных
Привычка работать с ассоциативными массивами и объектами на JavaScript делает использование JSON естественным и удобным. Это действительно отличный формат, но умение разделять и соединять, манипулируя строками и массивами, имеет куда более глубинные корни.
Функции join/split языка JavaScript и implode/explode языка PHP позволяют удобно и эффективно использовать как форматы данных XML, JSON, так и собственный вариант. Последний часто оптимальнее, а первые два идеально подходят для вариантов общего пользования. Если идет передача информации другому разработчику, серверу, в файл или в базу данных, лучше XML и JSON не найти. С ними все работают, потому передача/прием информации не нуждается в комментариях.
Использование JSON в Android
Чтение и запись данных в формате JSON в Android - не только норма вещей, но и множество объектов, ориентированных на работу именно с таким форматом данных.
При этом используется именно формат JSON. Возможно, это так и есть, но вопрос не в феноменальности соцсетей, а в том что действительно представление информации в формате "имя = значение" удобно как для программирования, так и для использования. В отличие от строгого и закомплексованного «XML» это действительно человеко-удобный формат.
Ассоциативные массивы
Сложилось так, что переменные надлежит описывать (JavaScript) или хотя бы указывать начальное значение (PHP). В обоих случаях переменная может изменить свой тип очень легко. При необходимости язык выполняет это преобразование автоматически.
Но почему бы переменной не менять также свое имя, не появляться в ходе выполнения алгоритма и не исчезать, когда необходимость в ней отпадет? Ассоциативные массивы позволяют решить эту проблему, но тогда при использовании таких относительно динамичных переменных, имя массива и соответствующие синтаксические конструкции будут следовать в места их применения.
Особенно это обстоятельство ярко выражено на PHP, но с этим можно мириться, как, впрочем, с символом «$» в имени переменной и комбинацией «$this->» внутри объекта. Программируя одновременно на JavaScript и PHP, поначалу действительно диву даешься, как все отличается, но потом все становится таким привычным и естественным...
Ассоциативный массив -> JSON
В этом примере посредством библиотеки PHPOffice/PHPWord создается документ *.docx, и массив aProperties содержит свойства этого документа (автор, компания, заголовок, категория, дата создания...).
Второй массив содержит данные по странице:
ориентация (альбомная или обычная);
размеры по вертикали и горизонтали;
отступы (поля слева, сверху, снизу, справа);
колонтитулы.
Формирование документа выполняется на сервере, где установлена библиотека PHPOffice/PHPWord. На сайте предусмотрено управление значениями этих массивов посредством JavaScript. Результат в формате JSON возвращается обратно на сервер и используется в алгоритмах на PHP, в его конструкциях, то есть в массивах.
Динамичные переменные
Формат JSON решает проблему динамичных переменных. Здесь можно создавать, изменять и удалять переменные без лишних синтаксических нагромождений. Это красиво смотрится и используется в JavaScript.
В этом примере функция GetOjInfo () выбирает имя значения и значение из объекта. Изначально объект JSON-строки, присвоенной переменной ojInfo, располагает тремя элементами: Name, age и work. Чуть позже добавляется переменная Status.
После первого оператора delete строка ojInfo теряет элемент age, после второго delete - элемент work. Если предположить, что данная строка есть подборка переменных, имеющих определенный смысл, то посредством JSON можно реально создавать, изменять и удалять любые их наборы вне операционного поля (синтаксиса) описания и обработки языка JavaScript.
Формат JSON на такой вариант не был рассчитан, но такое возможно, практично и удобно.
Синтаксис JSON является подмножеством синтаксиса JavaScript.
JSON синтаксических правил
Синтаксис JSON выводится из JavaScript синтаксиса объекта обозначения:
Данные в пар имя / значение
Данные разделены запятыми
Фигурные скобки держать объекты
Квадратные скобки держать массивы
JSON данные - имя и значение
Данные в формате JSON записывается в виде пар имя / значение.
Пара имя / значение состоит из имени поля (в двойных кавычках), за которым следует двоеточие, за которым следует значение:
пример
"firstName":"John"
Имена JSON требуют двойные кавычки. Имена JavaScript нет.
Значения JSON
Значения JSON могут быть:
Ряд (целое или с плавающей точкой)
Строка (в двойных кавычках)
Логическое (истина или ложь)
Массив (в квадратных скобках)
Объект (в фигурных скобках)
Объекты JSON
Объекты JSON записываются в фигурные скобки.
Так же, как JavaScript, объекты JSON может содержать несколько имя / значений пар:
пример
{"firstName":"John", "lastName":"Doe"}
Массивы JSON
JSON массивы записываются в квадратных скобках.
Так же, как JavaScript, массив JSON может содержать несколько объектов:
пример
"employees":[
{"firstName":"Peter","lastName":"Jones"}
]
В приведенном выше примере объект "employees"
представляет собой массив, содержащий три объекта. Каждый объект представляет собой запись человека (с именем и фамилией).
JSON использует JavaScript Синтаксис
Поскольку синтаксис JSON является производным от объекта JavaScript нотации, очень небольшое дополнительное программное обеспечение необходимо для работы с JSON в JavaScript.
С помощью JavaScript вы можете создать массив объектов и назначить на него данные, как это: