Формат JSON

Формат JSON

Формат JSON

JSON Это текстовый формат обмена данными, то есть его легко читать как человеку, так и программе. Его название соответствует английской аббревиатуре Обозначение объекта JavaScript и стандартизирован как ЭКМА-404. Хотя это формат, очень близкий по синтаксису к JavaScript, поскольку его очень легко обрабатывать для кодирования объектных данных или их получения, он также используется во многих других языках программирования (C, C + +, Java, Питон...) в качестве альтернативы, например, XML, который имеет аналогичную цель, но, поскольку он включает больше метаинформации, требует больше текста и, следовательно, занимает больше места, потребляет больше полосы пропускания и требует больше ресурсов для кодирования и декодирования. информацию, которую он содержит. JSON.

Содержание

    Данные объекта, закодированные в JSON Они заключены в фигурные скобки, различные свойства, входящие в них, разделены запятыми, а имена свойств предшествуют значению, от которого они отделяются двоеточием.

    Краткое описание синтаксиса объекта в формате JSON

    Имена свойств должны быть заключены в кавычки с использованием двойных кавычек (хотя некоторые анализаторы поддерживают одинарные кавычки), и хотя для имен разрешены некоторые специальные символы (например, знаки ударения), не рекомендуется избегать критериев некоторых механизмов анализа и избегайте конфликтов при использовании свойства, особенно с синтаксисом точки (object.property)

    В приведенном выше примере вы можете увидеть объект, имеющий шесть свойств с простыми, числовыми, логическими или текстовыми значениями; но в формате JSON, свойства также могут принимать в качестве значения объект (включая нуль «специального объекта») или массив в дополнение к текстовой строке (текст в кавычках), числу (в разных форматах) или логическому значению (истина или ложь). ).

    Как и язык JavaScript (JSON является подмножеством JavaScript) для выражения матрицы ее значения заключаются в квадратные скобки и разделяются запятыми. Самый простой случай показан в примере ниже; Это одномерный массив, вектор, состоящий из числовых значений.

    En JavaScript Не обязательно, чтобы все элементы массива были одного типа, можно смешивать, например, текстовые строки и числовые значения. Вектор, одномерный массив, также может быть одним из элементов другого массива, что позволяет создавать многомерные массивы переменной длины. В следующем примере показан объект с тремя свойствами: первое — двумерный массив фиксированной длины, второе — переменной длины, а третье — массив со значениями разных типов.

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

    Так же, как это происходит с JavaScript, escape-коды используются для включения определенных символов в текстовую строку. Самый общий способ — использовать коды Юникода, выраженные с помощью escape-бара, буквы u и четырех шестнадцатеричных цифр в формате "\u263A" например, для ссылки на ☺.

    Стандартные символы, присутствующие в большинстве языков (аналогично C), следующие:

    • регресс \b Код ASCII 8 (0x08)
    • Табулятор \t Код ASCII 9 (0x09) Обычно обозначается как HT (горизонтальная табуляция).
    • Новая линия \n Код ASCII 10 (0x0A) Обычно обозначается как LF (перевод строки).
    • Нуэва página \f Код ASCII 12 (0x0C) Обычно обозначается как FF (подача страницы)
    • Возвращать \r Код ASCII 13 (0x0D) Обычно обозначается как CR (возврат каретки).
    • Комильяс \" Код ASCII 34 (0x22)
    • разделенная полоса \/ Код ASCII 57 (0x2F)
    • Барра инвертида \\ Код ASCII 134 (0x5C)
    • код Юникод \uXXXX

    Происходит от C (и связанный с Юникс и тому подобное, например GNU / Linux) конец строки обычно обозначается знаком \n и это тот, который должен быть выбран в JSON но интересно помнить, что некоторые операционные системы предпочитают другие альтернативы. Windows обычно представляет собой \r\n окончания строк и Mac OS (до OS \r

    Что касается числового формата, ссылка также JavaScript. Десятичным разделителем является точка, тире (ASCII 45 0x2D) используется как отрицательный знак, а запись в экспоненциальной форме (научная нотация) использует E как индикатор (который может быть в верхнем или нижнем регистре)

    Как я сказал вначале, для использования данных, которые будут получены в виде текста, в разных языках программирования предусмотрены функции анализа и присваивания. В следующем примере показано, как они будут использоваться в JavaScript. Чтобы иметь возможность использовать его с консоли, включено присвоение данных. JSON Во избежание возможных ошибок в зависимости от стандарта ECMA, используемого переводчиком. JavaScript присвоение объекта выполнено JSON в одну строку. Выпуск 6 2016 г. (ЭКМА-262) поддерживает многострочные строки, в версии 5 (до 2011 г.) необходимо добавить escape-код \ а в предыдущих вам придется решать это вручную или использовать одну строку.

    Предупреждение, чтобы не вводить новых пользователей в заблуждение. JavaScript. Внутри кода JavaScript Для создания объекта не обязательно использовать текстовую строку, в предыдущем примере она используется для имитации поступления данных, например, с сервера. Чтобы присвоить объект переменной, что-то вроде:

    Этот объект можно преобразовать в текст, например, с помощью функции stringify следующим образом:

    Формат JSON Он довольно гибок, но, главным образом потому, что он основан на тексте и удобен для чтения человеком, у него есть некоторые недостатки. Во-первых, он требует больше памяти и потребляет больше пропускной способности, чем необходимо. В предыдущих примерах использовался формат, который призван быть более читабельным, чем экономичным, поэтому они не являются примером экономии, даже несмотря на то, что существует много элементов формата (фигурные скобки, квадратные скобки, кавычки...), которые будут продолжаться. потреблять ресурсы по сравнению с информацией, представленной в необработанном виде.

    Вторая проблема возникает при работе с чисто двоичными данными (например, изображениями).При работе с небольшими порциями ее можно решить с помощью того, что было объяснено для разрешения форматирования специальных символов, но если речь идет о кодировании информации определенных размеров, то необходимо будет встроить его в Формат JSON используя другой текстовый формат. Наиболее используемая кодировка для решения этого аспекта: Base64 поскольку во многих языках есть библиотеки для преобразования информации в ту или иную сторону. Если данные, которыми манипулируют, преимущественно относятся к этому типу и/или человеку нет необходимости интерпретировать информацию без программы, стоит задуматься о том, является ли формат JSON является наиболее подходящим.

    Оставить комментарий

    Вы могли пропустить