diff options
Diffstat (limited to 'files/uk/web/javascript/reference/global_objects/json/index.html')
| -rw-r--r-- | files/uk/web/javascript/reference/global_objects/json/index.html | 158 |
1 files changed, 0 insertions, 158 deletions
diff --git a/files/uk/web/javascript/reference/global_objects/json/index.html b/files/uk/web/javascript/reference/global_objects/json/index.html deleted file mode 100644 index af5818da2a..0000000000 --- a/files/uk/web/javascript/reference/global_objects/json/index.html +++ /dev/null @@ -1,158 +0,0 @@ ---- -title: JSON -slug: Web/JavaScript/Reference/Global_Objects/JSON -tags: - - JSON - - JavaScript - - Довідка - - Об'єкт -translation_of: Web/JavaScript/Reference/Global_Objects/JSON ---- -<div>{{JSRef}}</div> - -<p>Об'єкт <strong><code>JSON</code></strong> містить методи для розбору <a class="external" href="http://json.org/">JavaScript Object Notation</a> ({{glossary("JSON")}}) і конвертації значень у JSON. Його можна або просто викликати, або конструювати; і окрім своїх двох методів він не має у собі іншої корисної функціональності.</p> - -<h2 id="Опис">Опис</h2> - -<h3 id="Об'єктна_нотація_JavaScript">Об'єктна нотація JavaScript</h3> - -<p>JSON - це синтаксис для серіалізації об'єктів, масивів, чисел, строк, булевих значень, та {{jsxref("null")}}. Він заснований на синтаксисі JavaScript, проте дещо відрізняється від нього: деякий JavaScript не є JSON, і деякий JSON не є JavaScript. Докладніше у <a href="http://timelessrepo.com/json-isnt-a-javascript-subset">JSON: The JavaScript subset that isn't</a>.</p> - -<table> - <caption>Відмінності JavaScript і JSON</caption> - <thead> - <tr> - <th scope="col">Тип у JavaScript</th> - <th scope="col">Відмінність у JSON</th> - </tr> - </thead> - <tbody> - <tr> - <td>Об'єкти та масиви</td> - <td>Назви полів повинні являти собою строки у подвійних лапках; прикінцеві коми заборонені.</td> - </tr> - <tr> - <td>Числа</td> - <td>Ведучі нулі також заборонені (При виконанні JSON.stringify нулі просто проігноруються, проте JSON.parse викине SyntaxError); після десяткової крапки повинна слідувати хоча б одна цифра.</td> - </tr> - <tr> - <td>Строки</td> - <td> - <p>Лише обмежений набір символів можна екранувати; деякі керівні символи заборонені; такі символи юнікоду, як розділювач рядків (<a href="http://unicode-table.com/en/2028/">U+2028</a>) та розділювач абзаців (<a href="http://unicode-table.com/en/2029/">U+2029</a>) дозволені; строки повинні виділятись подвійними лапками. Зверніть увагу на наступні приклади, де {{jsxref("JSON.parse()")}} нормально працює, проте при обчисленні виразу як JavaScript-коду буде отримана помилка {{jsxref("SyntaxError")}}:</p> - - <pre class="brush: js"> -var code = '"\u2028\u2029"'; -JSON.parse(code); // працює -eval(code); // помилка -</pre> - </td> - </tr> - </tbody> -</table> - -<p>Повний синтаксис JSON виглядає так:</p> - -<pre><var>JSON</var> = <strong>null</strong> - або <strong>true</strong> або <strong>false</strong> - або <var>JSONNumber</var> - або <var>JSONString</var> - або <var>JSONObject</var> - або <var>JSONArray</var> - -<var>JSONNumber</var> = <strong>-</strong> <var>PositiveNumber</var> - <em>чи</em> <var>PositiveNumber</var> -<var>PositiveNumber</var> = DecimalNumber - або <var>DecimalNumber</var> <strong>.</strong> <var>Digits</var> - <em>або</em> <var>DecimalNumber</var> <strong>.</strong> <var>Digits</var> <var>ExponentPart</var> - або <var>DecimalNumber</var> <var>ExponentPart</var> -<var>DecimalNumber</var> = <strong>0</strong> - або <var>OneToNine</var> <var>Digits</var> -<var>ExponentPart</var> = <strong>e</strong> <var>Exponent</var> - чи <strong>E</strong> <var>Exponent</var> -<var>Exponent</var> = <var>Digits</var> - <em>або</em> <strong>+</strong> <var>Digits</var> - або <strong>-</strong> <var>Digits</var> -<var>Digits</var> = <var>Digit</var> - чи <var>Digits</var> <var>Digit</var> -<var>Digit</var> = від <strong>0</strong> до <strong>9</strong> -<var>OneToNine</var> = <strong>від 1</strong> до <strong>9</strong> - -<var>JSONString</var> = <strong>""</strong> - <em>чи</em> <strong>"</strong> <var>StringCharacters</var> <strong>"</strong> -<var>StringCharacters</var> = <var>StringCharacter</var> - чи <var>StringCharacters</var> <var>StringCharacter</var> -<var>StringCharacter</var> = будь-який символ - за виключенням <strong>"</strong> або <strong>\</strong> або від U+0000 до U+001F - або <var>EscapeSequence</var> -<var>EscapeSequence</var> = <strong>\"</strong> або <strong>\/</strong> або <strong>\\</strong> або <strong>\b</strong> або <strong>\f</strong> або <strong>\n</strong> або <strong>\r</strong> або <strong>\t</strong> - або <strong>\u</strong> <var>HexDigit</var> <var>HexDigit</var> <var>HexDigit</var> <var>HexDigit</var> -<var>HexDigit</var> = від <strong>0</strong> до <strong>9</strong> - або від <strong>A</strong> до <strong>F</strong> - або від <strong>a</strong> до <strong>f</strong> - -<var>JSONObject</var> = <strong>{</strong> <strong>}</strong> - чи <strong>{</strong> <var>Members</var> <strong>}</strong> -<var>Members</var> = <var>JSONString</var> <strong>:</strong> <var>JSON</var> - чи <var>Members</var> <strong>,</strong> <var>JSONString</var> <strong>:</strong> <var>JSON</var> - -<var>JSONArray</var> = <strong>[</strong> <strong>]</strong> - <em>чи</em> <strong>[</strong> <var>ArrayElements</var> <strong>]</strong> -<var>ArrayElements</var> = <var>JSON</var> - <em>чи</em> <var>ArrayElements</var> <strong>,</strong> <var>JSON</var> -</pre> - -<p>Беззмістовні пробільні символи можуть бути будь-де за винятком <code><var>JSONNumber</var></code> (числа не повинні містити пробіли) або <code><var>JSONString</var></code> (де це сприймається за частину строки, або призведе до помилки). Символ табуляції (<a href="http://unicode-table.com/en/0009/">U+0009</a>), повернення каретки (<a href="http://unicode-table.com/en/000D/">U+000D</a>), початку рядка (<a href="http://unicode-table.com/en/000A/">U+000A</a>) та пробіл (<a href="http://unicode-table.com/en/0020/">U+0020</a>) - це всі дійсні пробільні символи.</p> - -<h2 id="Методи">Методи</h2> - -<dl> - <dt>{{jsxref("JSON.parse()")}}</dt> - <dd>Розбирає строку як JSON, як опція — перетворює результат і його властивості, та повертає його.</dd> - <dt>{{jsxref("JSON.stringify()")}}</dt> - <dd>Повертає строку JSON відповідно до поданого значення. Як опція — може включити до результату лише певні поля чи замінити значення полів згідно з побажаннями користувача.</dd> -</dl> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Специфікація</th> - <th scope="col">Статус</th> - <th scope="col">Примітка</th> - </tr> - <tr> - <td>{{SpecName('ES5.1', '#sec-15.12', 'JSON')}}</td> - <td>{{Spec2('ES5.1')}}</td> - <td>Первинне визначення.</td> - </tr> - <tr> - <td>{{SpecName('ES6', '#sec-json-object', 'JSON')}}</td> - <td>{{Spec2('ES6')}}</td> - <td> </td> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-json-object', 'JSON')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td> </td> - </tr> - </tbody> -</table> - -<h2 id="Підтримка_у_браузерах">Підтримка у браузерах</h2> - -<div> -<div> -<div> -<div class="hidden">Таблиця сумісності на цій сторінці сформована автоматично із структурованих даних. Якщо ви маєте бажання зробити свій внесок до цих даних - будь-ласка, ось репозиторій <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div> - -<p>{{Compat("javascript.builtins.JSON")}}</p> -</div> -</div> -</div> - -<h2 id="Дивіться_також">Дивіться також</h2> - -<ul> - <li>{{jsxref("Date.prototype.toJSON()")}}</li> -</ul> |
