Json value: JSON_VALUE (Transact-SQL) — SQL Server
Содержание
Данные JSON (стандарт)
Содержимое скрипта на этой странице предназначено только для навигации и никоим образом не изменяет содержимое.
Описывается
JSON, как это определено его стандартами.
1.1 Обзор JSON
Обозначение объектов JavaScript ( JSON ) определено в стандартах ECMA-404 (формат обмена данными JSON), IETF RFC 8259 и ECMA-262 (спецификация языка ECMAScript, третье издание). Диалект JavaScript ECMAScript — это общий язык программирования, широко используемый в веб-браузерах и веб-серверах.
JSON — это почти подмножество объектной литеральной нотации JavaScript. Фут 1 Потому что это
может использоваться для представления литералов объектов JavaScript, JSON обычно служит
язык обмена данными. В этом он имеет много общего с XML.
Поскольку это (почти подмножество) нотации JavaScript, JSON часто может быть
используется в программах JavaScript без необходимости синтаксического анализа или сериализации. Это
текстовый способ представления литералов объектов JavaScript, массивов и скалярных данных.
Хотя JSON был определен в контексте JavaScript, на самом деле это
независимый от языка формат данных. Различные языки программирования могут анализировать и
генерировать данные JSON.
JSON относительно легко читается и пишется людьми и программным обеспечением
разобрать и сгенерировать. Он часто используется для сериализации структурированных данных и обмена
это по сети, обычно между сервером и веб-приложениями.
1.2 Синтаксис JSON и его данные
Представляет собой
Стандартные значения JSON, скаляры, объекты и массивы
описано.
В соответствии со стандартом JSON значение в формате JSON равно
один из следующих типов данных языка JSON: объект, массив, число, строка, логическое значение (значение
true
или false
), или null (значение
ноль
). Все значения, кроме объектов и массивов, являются скалярными .
Стандартный JSON не имеет типа данных даты (в отличие от XML и JavaScript). А
дата представлена в стандартном формате JSON с использованием доступных стандартных типов данных, таких как
нить. Существуют некоторые стандарты де-факто для преобразования между датами и JSON.
струны. Но обычно программы, использующие стандартные данные JSON, должны так или иначе иметь дело с
преобразование представления даты.
Объект JavaScript является ассоциативным массивом или
словарь, состоящий из нуля или более пар имен свойств и связанных значений JSON. Foot 2 Объект JSON — это литерал объекта JavaScript . Фут 3 Так написано
список свойств, заключенный в фигурные скобки ( {
, }
), с
пары имя-значение, разделенные запятыми ( ,
), а также с именем и значением
каждой пары, разделенной двоеточием ( :
). (Пробел до или после
запятая или двоеточие необязательны и не имеют значения.)
В JSON каждое имя свойства и каждое строковое значение должны быть заключены в
двойные кавычки ( "
). В нотации JavaScript имя свойства
используемый в объектном литерале, может быть, но не обязательно, заключен в двойные кавычки. Может
также заключать в одинарные кавычки ( '
).
В результате этой разницы на практике данные, представленные с использованием
имена свойств без кавычек или в одинарных кавычках иногда в общих чертах называют представленными
в JSON и некоторых реализациях JSON, включая реализацию Oracle Database,
поддерживать нестрогий синтаксис, который позволяет использовать свойства без кавычек и в одинарных кавычках
имена.
Строка в формате JSON состоит из символов Unicode с обратной косой чертой.
( \
) побег. Число JSON (число) представлено в десятичном формате.
обозначение, возможно, подписанное и, возможно, включающее десятичный показатель.
Свойство объекта обычно называется полем .
Иногда его называют ключом , но обычно эта документация
использует «поле», чтобы избежать путаницы с другим использованием здесь слова «ключ». Свойство объекта
пару имя-значение часто называют объектом член (но
иногда элемент может означать просто свойство). Заказ не
значимость среди членов объекта.
Массив JavaScript содержит ноль или более элементов. А
Массив JSON представлен скобками
( [
, ]
) вокруг представлений
массив элементов (также называемый элементов ), которые разделены запятыми (,
), и каждый из
который является объектом, массивом или скалярным значением. Порядок элементов массива имеет значение.
(Пробел до или после скобки или запятой не является обязательным и не имеет значения.)
Пример 1-1 Объект JSON
(Представление литерала объекта JavaScript)
В этом примере показан объект JSON, представляющий заказ на покупку, с именами полей верхнего уровня PONumber
, Ссылка
, Заявитель
, Пользователь
, CostCenter
2 , 900 , Специальные инструкции
, Разрешить частичную отгрузку
и Элементы строки
.
{ "номер PON": 1600, «Ссылка»: «ABULL-20140421», «Заявитель»: «Алексис Булл», «Пользователь»: «ABULL», «Центр затрат»: «А50», «Инструкции по доставке»: { «имя»: «Алексис Булл», «Адрес»: { «улица» : «200 Sporting Green», "город": "Южный Сан-Франциско", "состояние": "CA", «Почтовый индекс»: 99236, "страна" : "Соединенные Штаты Америки" }, "Телефон" : [ { "тип" : "Офис", "номер": "909-555-7307" }, { "тип": "Мобильный", "номер": "415-555-1234" } ] }, «Особые инструкции»: ноль, «AllowPartialShipment»: ложь, "LineItems" : [ { "ItemNumber" : 1, «Часть»: { «Описание»: «Волшебное Рождество», «Цена за единицу»: 19. 95, «UPCCode»: 13131092899}, «Количество»: 9,0 }, { "Номер товара" : 2, "Часть" : { "Описание" : "Смертельное оружие", «Цена за единицу»: 19,95, «UPCCode»: 85391628927}, "Количество": 5.0 } ] }
Большинство полей здесь имеют строковые значения. Например:
полеПользователь
имеет значение"ABULL"
.Поля
PONumber
и
zipCode
имеют числовые значения:1600
и
99236
.Поле
ShippingInstructions
имеет объект как
его значение. Этот объект состоит из трех членов с полями, именем
,
Адрес
иТелефон
. Полеимя
имеет
строковое значение ("Алексис Булл"
).Значение поля
Адрес
это объект
с полямиулица
,город
,штат
,
почтовый индекс
истрана
. Полепочтовый индекс
имеет числовое значение; остальные имеют строковые значения.Поле
Телефон
имеет в качестве значения массив. Этот
Массив состоит из двух элементов, каждый из которых является объектом. Каждый из этих объектов имеет два
члены: полятип
иномер
с их
ценности.Поле
Специальные инструкции
имеет
нулевое значение
.Поле
AllowPartialShipment
имеет логическое значение
значениеложь
.Поле
LineItems
имеет массив в качестве значения. Этот
Массив состоит из двух элементов, каждый из которых является объектом. Каждый из этих объектов имеет три
элементы с полямиItemNumber
,Part
и
Количество
.Поля
ItemNumber
и
Количество
имеет числовое значение. ПолеЧасть
имеет
объект как значение, с полямиОписание
,UnitPrice
,
иUPCCode
. ПолеОписание
имеет строковое значение.
ПоляUnitPrice
иUPCode
имеют числовые значения.
ценности.
1.3 JSON по сравнению с XML
Как JSON, так и XML (расширяемый язык разметки) обычно используются в качестве
языки обмена данными. Их основные отличия перечислены здесь.
JSON наиболее полезен при работе с простыми структурированными данными. XML полезен для обоих
структурированные и полуструктурированные данные. JSON обычно ориентирован на данные, а не
ориентированный на документы; XML может быть любым. JSON — это не язык разметки; он разработан только
для представления данных. XML — это и язык разметки документов, и хранилище данных.
язык представления.
- Типов данных
JSON немного, и они предопределены. XML-данные могут быть
либо без типа, либо на основе XML-схемы или определения типа документа
(ДТД). JSON имеет простое определение структуры и
конструкции, объединяющие документы: в нем отсутствуют атрибуты, пространства имен, наследование и
замена.Порядок членов литерала объекта JavaScript
незначителен. Как правило, порядок в XML-документе имеет значение.JSON не имеет эквивалента текстовых узлов XML (узел XPath
тесттекст()
). В частности, это означает отсутствие смешанных
контент (это еще один способ сказать, что JSON не является разметкой
язык).
Благодаря простому определению и функциям данные JSON обычно проще
генерировать, анализировать и обрабатывать данные XML. Варианты использования, включающие объединение
Различные источники данных обычно хорошо подходят для использования XML, потому что он
предлагает пространства имен и другие конструкции, облегчающие модульность и наследование.
Обозначение сноски
Сноска 1:
JSON отличается от нотации JavaScript в этом отношении:
JSON допускает неэкранированные символы Unicode U+2028 (LINE SEPARATOR) и U+2029.
(РАЗДЕЛИТЕЛЬ ПУНКТОВ) в строках. Нотация JavaScript требует контроля
символы, подобные этим, должны быть экранированы в строках. Эта разница может быть
важно при создании данных JSONP (JSON с дополнением).
Сноска 2:
Объекты JavaScript, таким образом, похожи на хеш-таблицы в C и C++,
HashMaps в Java, ассоциативные массивы в PHP, словари в Python и хэши в Perl.
и Руби.
Сноска 3:
Объект
создается в JavaScript с использованием конструктора Object
или объекта
буквальный синтаксис: {
… }
.
Сноска 4. В некоторых случаях пустое имя поля
нельзя использовать с базой данных Oracle. Везде, где оно может быть использовано, имя должно быть
в двойных кавычках.
Синтаксис JSON
❮ Предыдущий
Следующий ❯
Синтаксис JSON является подмножеством синтаксиса JavaScript.
Правила синтаксиса JSON
Синтаксис JSON получен из синтаксиса записи объектов JavaScript:
- Данные представлены в парах имя/значение
- Данные разделены запятыми
- Фигурные скобки содержат объекты
- Квадратные скобки содержат массивы
Данные JSON — имя и значение
Данные JSON записываются в виде пар имя/значение (также называемых парами ключ/значение).
Пара имя/значение состоит из имени поля (в двойных кавычках),
двоеточие, за которым следует значение:
Пример
«name»:»John»
Имена JSON требуют двойных кавычек.
JSON — вычисляет объекты JavaScript
Формат JSON почти идентичен объектам JavaScript.
В JSON ключи должны быть строками, заключенными в двойные кавычки:
JSON
{«name»:»John»}
В JavaScript ключи могут быть строками, числами или именами идентификаторов:
JavaScript
{имя: «Джон»}
Значения JSON
В JSON значения должны быть одного из следующих типов данных:
- строка
- номер
- объект
- массив
- логическое значение
- ноль
В значениями JavaScript могут быть все вышеперечисленные плюс любые другие допустимые значения JavaScript
выражение, в том числе:
- функция
- дата
- не определено
В JSON строковые значения должны быть заключены в двойные кавычки:
JSON
{«name»:»John»}
JavaScript
{name:’John’}
Объекты JavaScript
Поскольку синтаксис JSON получен из нотации объектов JavaScript, очень мало дополнительных
программное обеспечение необходимо для работы с JSON в JavaScript.
С помощью JavaScript вы можете создать объект и назначить данные для
это, например:
Пример
человек = {имя:»Джон», возраст:31, город:»Нью-Йорк»};
Вы можете получить доступ к объекту JavaScript следующим образом:
Пример
// возвращает John
person.name;
Попробуйте сами »
К нему также можно получить доступ следующим образом:
Пример
// возвращает John
person[«name»];
Попробуйте сами »
Данные можно изменить следующим образом:
Пример
person.name = «Гилберт»;
Попробуйте сами »
Его также можно изменить следующим образом:
Пример
person[«name»] = «Gilbert»;
Попробуйте сами »
Далее в этом разделе вы узнаете, как преобразовывать объекты JavaScript в JSON.
руководство.
Массивы JavaScript как JSON
Так же, как объекты JavaScript могут быть записаны как JSON, массивы JavaScript могут
также быть записано как JSON.
Далее в этом руководстве вы узнаете больше об объектах и массивах.
Файлы JSON
- Тип файла для файлов JSON — «.json»
- Тип MIME для текста JSON — «application/json»
❮ Предыдущий
Далее ❯
НОВИНКА
Мы только что запустили
Видео W3Schools
Узнать
ВЫБОР ЦВЕТА
КОД ИГРЫ
Играть в игру
Лучшие учебники
Учебное пособие по HTML
Учебное пособие по CSS
Учебное пособие по JavaScript
Учебное пособие
Учебник по SQL
Учебник по Python
Учебник по W3.CSS
Учебник по Bootstrap
Учебник по PHP
Учебник по Java
Учебник по C++
Учебник по jQuery
Основные ссылки
Справочник по HTML
Справочник по CSS
Справочник по JavaScript
Справочник по SQL
Справочник по Python
Справочник по W3.