Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ JSON

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚

Π—Π° прСдставлСниС структурированных Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° основС синтаксиса JavaScript ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ стандартный тСкстовый Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ JSON, Π°Π±Π±Ρ€Π΅Π²ΠΈΠ°Ρ‚ΡƒΡ€Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ΡΡ ΠΊΠ°ΠΊ JavaScript Object Notation.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ Ρ‚ΠΎΠΌ, Π·Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ΅Π½ JSON, ΠΊΠ°ΠΊΠΈΠΌΠΈ ΠΎΠ½ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ особСнностями ΠΈ Π² ΠΊΠ°ΠΊΠΎΠΌ Π²ΠΈΠ΄Π΅ отобраТаСтся Π² ΠΊΠΎΠ΄Π΅.

Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ JSON

JSON – тСкстовый Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ практичСски Π²ΠΎ всСх скриптовых языках программирования, ΠΎΠ΄Π½Π°ΠΊΠΎ Π΅Π³ΠΎ истоки находятся Ρƒ JavaScript. Он ΠΈΠΌΠ΅Π΅Ρ‚ сходство с Π±ΡƒΠΊΠ²Π΅Π½Π½Ρ‹ΠΌ синтаксисом Π΄Π°Π½Π½ΠΎΠ³ΠΎ языка программирования, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚ Π½Π΅Π³ΠΎ. МногиС срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ ΡΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ с Π΅Π³ΠΎ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ΠΌ ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. JSON находится Π² состоянии строки, поэтому позволяСт ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΏΠΎ сСти. Он прСобразуСтся Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ JS, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠ³ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ эти Π΄Π°Π½Π½Ρ‹Π΅. ΠžΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΠ΅Ρ‚ΡΡ это ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ языка программирования, Π½ΠΎ сам JSON ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ свойства.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ тСкстовый Ρ„Π°ΠΉΠ» JSON Π² собствСнном Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ .json, ΠΈ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ тСкстовый. Для MIME Type прСдставлСниС мСняСтся Π½Π° application/json.

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° JSON

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с рассматриваСмым тСкстовым Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»Π° создания Π΅Π³ΠΎ структуры Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅, массивС ΠΈ ΠΏΡ€ΠΈ присвоСнии значСния. На ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ Π½Π°Π³Π»ΡΠ΄Π½ΡƒΡŽ Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ прСдставлСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.
Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚

Если Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ массивС, здСсь Ρ‚ΠΎΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ всСгда прСдставляСт собой ΡƒΠΏΠΎΡ€ΡΠ΄ΠΎΡ‡Π΅Π½Π½ΡƒΡŽ ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ находится Π²Π½ΡƒΡ‚Ρ€ΠΈ скобок [ ]. ΠŸΡ€ΠΈ этом значСния Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚Π΄Π΅Π»Π΅Π½Ρ‹ Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°.
Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚

Π’ массивС находятся упомянутыС значСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСны Π² Π²ΠΈΠ΄Π΅ простого тСкста, чисСл, истины, Π»ΠΆΠΈ ΠΈ Ρ‚.Π΄.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚

Если Π²Π°ΠΌ интСрСсно, Π½Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ сайтС JSON ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π±ΠΎΠ»Π΅Π΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ описаниС всСх Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ использования Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π² Ρ€Π°Π·Π½Ρ‹Ρ… языках программирования со списком всСх доступных Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈ инструмСнтов.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ прСимущСства JSON

Как ΡƒΠΆΠ΅ понятно, JSON ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ структурированными ΠΈ хранятся Π² Ρ„Π°ΠΉΠ»Π΅ ΠΈΠ»ΠΈ Π² строкС ΠΊΠΎΠ΄Π°. Числа, строки ΠΈΠ»ΠΈ Π»ΡŽΠ±Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ тСкста, поэтому ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ обСспСчиваСт простоС ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠ΅ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. JSON ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ рядом прСимущСств, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈ сдСлали Π΅Π³ΠΎ популярным:

НС Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ мСста, являСтся ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΌ Π² написании ΠΈ быстро компилируСтся.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ тСкстового содСрТимого понятно Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ, просто Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ со стороны срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π΅ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. Π§Ρ‚Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒΡΡ ΠΈ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π½ΠΈΡ‡Π΅Π³ΠΎ слоТного Π² прСдставлСнии Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅Ρ‚.

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° прСобразуСтся для чтСния Π½Π° Π»ΡŽΠ±Ρ‹Ρ… языках программирования.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ всС языки ΠΈΠΌΠ΅ΡŽΡ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ инструмСнты для чтСния Π΄Π°Π½Π½Ρ‹Ρ… JSON.

Основной ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹ JSON

РазбСрСмся, Π² Ρ‡Π΅ΠΌ состоит основной ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°, Π³Π΄Π΅ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΈ Ρ‡Π΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π΅Π½ для ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°.

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° примСрная структура ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ Β«ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСр-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Β». Π­Ρ‚ΠΎ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ с сСрвСра Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΏΠΎ запросу ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Ρ‡Ρ‚ΠΎ ΠΈ являСтся основным ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ JSON.

Запрос Π½Π° сСрвСр отправляСтся ΠΏΠΎ ΠΊΠ»ΠΈΠΊΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ элСмСнт описания Ρ‡Π΅Π³ΠΎ-Π»ΠΈΠ±ΠΎ для Π΅Π³ΠΎ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ прочтСния.

Запрос гСнСрируСтся ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ AJAX с использованиСм JavaScript ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ сцСнарного Ρ„Π°ΠΉΠ»Π° PHP. Π‘Π°ΠΌ сцСнарий Π·Π°ΠΏΡƒΡ‰Π΅Π½ Π½Π° сСрвСрС, Π·Π½Π°Ρ‡ΠΈΡ‚, поиск Π΄Π°Π½Π½Ρ‹Ρ… Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» PHP Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ всю ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»Π΅Π½Π½ΡƒΡŽ с сСрвСра ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² Π²ΠΈΠ΄Π΅ строки ΠΊΠΎΠ΄Π°.

JavaScript Π±Π΅Ρ€Π΅Ρ‚ эту строку, восстанавливаСт Π΅Π΅ Π΄ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ состояния ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π½Π° страницС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅.

На Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ этой Π·Π°Π΄Π°Ρ‡ΠΈ понадобится мСньшС сСкунды, ΠΈ Π³Π»Π°Π²Π½ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ здСсь выполняСт встроСнный Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ JavaScript. Если ΠΆΠ΅ ΠΎΠ½ ΠΏΠΎ ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ Π½Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈΠ»ΠΈ отсутствуСт, дСйствиС ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΎ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚.

Как ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ JSON Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅

ΠœΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ практичСски любой тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€. Π‘Π°ΠΌΡ‹ΠΉ простой Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ – встроСнный Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ систСму Π‘Π»ΠΎΠΊΠ½ΠΎΡ‚. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ JSON отобраТаСтся ΠΊΠ°ΠΊ Ρ„Π°ΠΉΠ», для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π΅ Π²Ρ‹Π±Ρ€Π°Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для открытия, поэтому ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ Π΅Π³ΠΎ запуска понадобится Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π‘Π»ΠΎΠΊΠ½ΠΎΡ‚.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚

Π˜Π·Π²Π΅ΡΡ‚Π½Ρ‹ΠΉ тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ синтаксиса Ρ€Π°Π·Π½Ρ‹Ρ… языков программирования Notepad ++ Ρ‚ΠΎΠΆΠ΅ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ JSON-Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π½Π° своСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚

Π’ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для этого практичСски Π»ΡŽΠ±ΡƒΡŽ срСду Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ, ΠΊΠ°ΠΊ ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΎ сказано Π²Ρ‹ΡˆΠ΅, JSON поддСрТиваСтся Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ IDE благодаря встроСнным ΠΈΠ»ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌ.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° JSON

Если ΠΆΠ΅ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» JSON, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Π‘Π»ΠΎΠΊΠ½ΠΎΡ‚.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚

ΠŸΡ€ΠΈ сохранСнии Π²Π°ΠΌ понадобится Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ Ρ„Π°ΠΉΠ»Π° Β«β€ŽΠ’ΡΠ΅ Ρ„Π°ΠΉΠ»Ρ‹Β» ΠΈ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊ названию .json, Ρ‡Ρ‚ΠΎΠ±Ρ‹ тСкстовый Ρ„Π°ΠΉΠ» сохранился ΠΈΠΌΠ΅Π½Π½ΠΎ Π² этом Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅.

Π’Ρ‹ ознакомились с основной ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ JSON. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ это Π·Π° Ρ‚ΠΈΠΏ Ρ„Π°ΠΉΠ»ΠΎΠ², Π³Π΄Π΅ примСняСтся ΠΈ ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ структурС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. Π’Ρ‹ΡˆΠ΅ я ΡƒΠΆΠ΅ Π΄Π°Π» ссылку Π½Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ сайт, поэтому ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΏΠΎ Π½Π΅ΠΉ, Ссли ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° вопрос, связанный с тонкостями Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°, Π²Ρ‹ Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π Π°Π±ΠΎΡ‚Π° с JSON

НСобходимыС знания:Базовая ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Π°Ρ Π³Ρ€Π°ΠΌΠΎΡ‚Π½ΠΎΡΡ‚ΡŒ, Π±Π°Π·ΠΎΠ²Ρ‹Π΅ знания HTML ΠΈ CSS, знакомство с основами JavaScript (см. First steps ΠΈ Building blocks) ΠΈ основами OOJS (see Introduction to objects).
ЦСль:ΠŸΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, хранящимися Π² JSON, ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ свои собствСнныС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ JSON.

НСт, Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ JSON?

JSON сущСствуСт ΠΊΠ°ΠΊ строка,Ρ‡Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ сСти. Он Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ Π² собствСнный ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ JavaScript, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ. Π­Ρ‚ΠΎ Π½Π΅ большая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°. JavaScript прСдоставляСт Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ JSON, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для прСобразования ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ.

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° JSON

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΏΠΎ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ, Π²Π°ΠΌ просто Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Π΅ ΠΈΠΌΠ΅Π½Π° свойств ΠΈ индСксы массивов. НапримСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ свСрхспособности Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ гСроя, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π² спискС участников, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. ΠœΡ‹ сдСлали JSON, Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΉ Π²Ρ‹ΡˆΠ΅, доступным Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ JSONTest.html (см. исходный ΠΊΠΎΠ΄). ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ это, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‡Π΅Ρ€Π΅Π· консоль JavaScript вашСго Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°.

ΠœΠ°ΡΡΠΈΠ²Ρ‹ ΠΊΠ°ΠΊ JSON

Π”Ρ€ΡƒΠ³ΠΈΠ΅ примСчания

АктивноС ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅: Π Π°Π±ΠΎΡ‚Π° с ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ JSON

Π˜Ρ‚Π°ΠΊ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‚ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ JSON Π½Π° Π²Π΅Π±-сайтС.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

JSON – ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΈ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚

JSON являСтся ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎΠΉ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ front-end программирования, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΡ‚ Π½Π΅Π³ΠΎ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ зависит ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² соврСмСнном ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π·Π½Π°Π½ΠΈΠ΅ этого Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ΠΏΠΎ ΠΏΡ€Π°Π²Ρƒ ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Π½Π°Π²Ρ‹ΠΊΠΎΠΌ любого Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°. ΠŸΡ€ΠΈ этом Ρƒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… (ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ программистов) Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ слоТности с ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ΠΌ сути ΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ° дСйствия этого инструмСнта.

Π’ нашСй Π½ΠΎΠ²ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ расскаТСм ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ JSON, ΠΊΠ°ΠΊΠΎΠ² Π΅Π³ΠΎ синтаксис, структура, Ρ‚ΠΈΠΏΡ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ способы хранСния Π΄Π°Π½Π½Ρ‹Ρ…, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ΅Π½ JSON ΠΈ Ρ‡Π΅ΠΌ ΠΎΠ½ отличаСтся ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ популярного Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° XML.

JSON – это Ρ‡Ρ‚ΠΎ?

JSON (JavaScript Object Notation) – это тСкстовый Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для хранСния структурированных Π΄Π°Π½Π½Ρ‹Ρ…. Он Π±Ρ‹Π» создан амСриканским программистом Дугласом ΠšΡ€ΠΎΠΊΡ„ΠΎΡ€Π΄ΠΎΠΌ Π½Π° Π±Π°Π·Π΅ JavaScript, Π½ΠΎ ΠΏΡ€ΠΈ этом ΠΎΠ½ Π½Π΅ привязан ΠΊ Π½Π΅ΠΌΡƒ ΠΈ являСтся нСзависимым. JSON Π»Π΅Π³ΠΊΠΎ сочСтаСтся с любой соврСмСнной срСдой программирования, Π² частности, ΠΊΠΎΠ΄ для ввСдСния ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² этом Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ присутствуСт Π² языках PHP, Python, Java ΠΈ Ruby.

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ дСйствия JSON. Π—Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½?

Π’Π΅ΠΏΠ΅Ρ€ΡŒ опишСм ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ дСйствия этого инструмСнта Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅. НапримСр, Π΅ΡΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΡ‚ ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ своих ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ: тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€, ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹ΠΉ сСрвис ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ. Π‘Π΅Π· JSON эти свСдСния довольно Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ: ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ нСдоступны ΠΏΡ€ΠΈ Π·Π°Ρ…ΠΎΠ΄Π΅ с Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°/устройства (Π² случаС хранСния Π² памяти Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°) ΠΈΠ»ΠΈ ΠΆΠ΅ ΠΈΡ… Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½ΡƒΠΆΠ½ΠΎ Π²ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ (Π² случаС хранСния прямо Π²Π½ΡƒΡ‚Ρ€ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°).

Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΈ Π±Ρ‹Π» ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚Π΅Π½ стандарт JSON, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΈ ускоряСт ΠΎΠ±ΠΎΡŽΠ΄Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ (ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€) ΠΈ сСрвСром сайта. Говоря простым языком, это способ записи ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² JavaScript. Он ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎ взаимодСйствуСт с AJAX (асинхронный JS ΠΈ XML), вмСстС ΠΎΠ½ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Π°ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½Π½ΡƒΡŽ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅. Вакая функция позволяСт сайтам ΠΈ Π²Π΅Π±-прилоТСния ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π±Π΅Π· ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ страниц. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ JSON ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ доступСн запрос Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· стороннСго Π΄ΠΎΠΌΠ΅Π½Π°. Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ это ΠΌΠΎΠΆΠ½ΠΎ Ρ‡Π΅Ρ€Π΅Π· Ρ‚Π΅Π³

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

JSON: основы использования

НавСрняка Π²Ρ‹ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΡΠ»Ρ‹ΡˆΠ°Π»ΠΈ ΠΎ JSON. Π§Ρ‚ΠΎ ΠΆΠ΅ это Ρ‚Π°ΠΊΠΎΠ΅? Π§Ρ‚ΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈ ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ?

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΡƒΡ€ΠΎΠΊΠ΅ ΠΌΡ‹ расскаТСм ΠΎΠ± основах JSON ΠΈ раскроСм ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡƒΠ½ΠΊΡ‚Ρ‹:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ JSON?

ПослС создания строки JSON, Π΅Π΅ Π»Π΅Π³ΠΊΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ ΠΈΠ»ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΎΠ΅ мСсто сСти, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½Π° прСдставляСт собой простой тСкст.

JSON ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ прСимущСства:

НазваниС JSON ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ JavaScript Object Notation (прСдставлСниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² JavaScript). Как ΠΈ прСдставляСт имя, ΠΎΠ½ основан Π½Π° способС опрСдСлСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° созданиС ассоциативных массивов Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… языках) ΠΈ массивов.

Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ JSON?

Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ JSON для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΡ‚ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° Π½Π° сСрвСр, пСрСдавая строку JSON Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° запросов GET ΠΈΠ»ΠΈ POST. Но Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈΠΌΠ΅Π΅Ρ‚ мСньшСС распространСниС, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π΄Π°Π½Π½Ρ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· запросы AJAX ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π°. НапримСр, ID ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Π² адрСс URL ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ запроса GET.

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ строку JSON?

Π•ΡΡ‚ΡŒ нСсколько основных ΠΏΡ€Π°Π²ΠΈΠ» для создания строки JSON:

ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ строки JSON

НиТС приводится ΠΏΡ€ΠΈΠΌΠ΅Ρ€ оформлСния Π·Π°ΠΊΠ°Π·Π° Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ JSON:

Рассмотрим строку ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ:

ΠšΡΡ‚Π°Ρ‚ΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ JSON основан Π½Π° объявлСнии ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² JavaScript, Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ быстро ΠΈ просто ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΡƒΡŽ строку JSON ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ JavaScript:

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ JSON ΠΈ XML

Π’ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡΡ… Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ JSON ΠΊΠ°ΠΊ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρƒ XML, ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, Π² сфСрС Π²Π΅Π± ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠšΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡ AJAX ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎ ΠΎΡΠ½ΠΎΠ²Ρ‹Π²Π°Π»Π°ΡΡŒ Π½Π° использовании XML для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ сСрвСром ΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠΌ. Но Π² послСдниС Π³ΠΎΠ΄Ρ‹ JSON становится всС Π±ΠΎΠ»Π΅Π΅ популярным для пСрСноса Π΄Π°Π½Π½Ρ‹Ρ… AJAX.

Π₯отя XML являСтся ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ, которая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² достаточном количСствС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, прСимущСствами JSON ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΉ ΠΈ простой для распознавания Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π΄Π°Π½Π½Ρ‹Ρ….

Π’ΠΎΡ‚ ΠΊΠ°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π½Π° XML:

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, это Ρ€Π°Π΄ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€. И Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΡƒΡŽ запись XML. Но Π΄Π°ΠΆΠ΅ ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ сущСствСнно Π΄Π»ΠΈΠ½Π½Π΅Π΅ эквивалСнта Π½Π° JSON.

Π Π°Π±ΠΎΡ‚Π°Π΅ΠΌ со строкой JSON Π² JavaScript

JSON ΠΈΠΌΠ΅Π΅Ρ‚ простой Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, Π½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ строку JSON Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ достаточно ΡƒΡ‚ΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, часто Π½ΡƒΠΆΠ½ΠΎ Π²Π·ΡΡ‚ΡŒ строку JSON, ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ содСрТаниС Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΊΠΎΠ΄Π΅.

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ языков программирования ΠΈΠΌΠ΅ΡŽΡ‚ инструмСнты для простого прСобразования ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² строки JSON ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚.

Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ строку JSON ΠΈΠ· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ JSON.stringify() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ строку JSON Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ². Π•Π΅ слоТнСС Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Π½ΠΎ Π·Π°Ρ‚ΠΎ ΠΎΠ½Π° Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Π° для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Ρ‡Π΅Ρ€Π΅Π· ΡΠ΅Ρ‚ΡŒ.

Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΈΠ· строки JSON

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²Ρ‹Π²ΠΎΠ΄:

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

Как ΠΈ для JavaScript Π΄Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ выдаст:

Π”Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ выдаст Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ Π²Ρ‹Π²ΠΎΠ΄:

Π’Π°ΠΊΠΆΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ json_decode() ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ для указания Π³Π»ΡƒΠ±ΠΈΠ½Ρ‹ рСкурсии ΠΈ способов ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ†Π΅Π»Ρ‹Ρ… чисСл.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π₯отя JSON прост для понимания ΠΈ использования, ΠΎΠ½ являСтся ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ ΠΈ Π³ΠΈΠ±ΠΊΠΈΠΌ инструмСнтом для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ прилоТСниями ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°ΠΌΠΈ, особСнно ΠΏΡ€ΠΈ использовании AJAX. Если Π²Ρ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ AJAX ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ‚ΠΎ Π½Π΅Ρ‚ сомнСний, Ρ‡Ρ‚ΠΎ JSON станСт ваТнСйшим инструмСнтом Π² вашСй мастСрской.

Π”Π°Π½Π½Ρ‹ΠΉ ΡƒΡ€ΠΎΠΊ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½ для вас ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ сайта ruseller.com
Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ ΡƒΡ€ΠΎΠΊΠ°: www.elated.com/articles/json-basics/
ΠŸΠ΅Ρ€Π΅Π²Π΅Π»: Π‘Π΅Ρ€Π³Π΅ΠΉ Ѐастунов
Π£Ρ€ΠΎΠΊ создан: 12 Августа 2011
ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ΠΎΠ²: 533047
ΠŸΡ€Π°Π²ΠΈΠ»Π° ΠΏΠ΅Ρ€Π΅ΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠΈ

5 послСдних ΡƒΡ€ΠΎΠΊΠΎΠ² Ρ€ΡƒΠ±Ρ€ΠΈΠΊΠΈ «Π Π°Π·Π½ΠΎΠ΅»

Как Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ хостинг для своСго сайта?

Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ хостинг для своСго сайта достаточно слоТная Π·Π°Π΄Π°Ρ‡Π°. ОсобСнно сСйчас, ΠΊΠΎΠ³Π΄Π° Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅ услуг хостинга дСйствуСт нСсколько сотСн ΠΈΠ³Ρ€ΠΎΠΊΠΎΠ² с ΠΎΡ‡Π΅Π½ΡŒ ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ прСдлоТСниями. Π₯ΠΎΡ€ΠΎΡˆΠΈΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ являСтся Π»ΠΈΠ΄Π΅Ρ€ Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³Π° Π₯остинг Ниндзя β€” ΠœΠ°ΠΊΡ…ΠΎΡΡ‚.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ², ВсС ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ Π½Π° локальном сСрвСрС OpenServer ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΡ‚ΡŒ сайт Π½Π° хостинг. Π’ΠΎΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠ°ΠΊΡƒΡŽ компанию Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ? ΠŸΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ хостинг fornex.com. ΠžΡ‚Π»ΠΈΡ‡Π½ΠΎΠ΅ мСсто для Ρ‚Π²ΠΎΠ΅Π³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° с пСрспСктивами Π±ΡƒΡ€Π½ΠΎΠ³ΠΎ роста.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π²Π΅Π±-сайтов с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ½Π»Π°ΠΉΠ½ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Wrike

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚

20 рСсурсов для прототипирования

ΠŸΠΎΠ΄Π±ΠΎΡ€ΠΊΠ° ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… дСсятков рСсурсов для создания ΠΌΠΎΠΊΠ°ΠΏΠΎΠ² ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΎΠ².

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚

Π’ΠΎΠΏ 10 бСсплатных хостингов

НСбольшая ΠΏΠΎΠ΄Π±ΠΎΡ€ΠΊΠ° ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ΠΎΠ² бСсплатного хостинга с ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΌ описаниСм.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ JSON

Если Π²Ρ‹ тСстируСтС API, Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π½Π°Ρ‚ΡŒ ΠΏΡ€ΠΎ Π΄Π²Π° основных Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…:

XML β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² SOAP (всСгда) ΠΈ REST-запросах (Ρ€Π΅ΠΆΠ΅);

JSON β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² REST-запросах.

БСгодня я расскаТу Π²Π°ΠΌ ΠΏΡ€ΠΎ JSON. И расскаТу Π² основном с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Β«ΠΏΠΎΡΠ»Π°Ρ‚ΡŒ запрос Π² Postman ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚Β», ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΡΡ‚Π°Ρ‚ΡŒΡ рассчитана Π½Π° студСнтов, Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… с Postman.

JSON (Π°Π½Π³Π». JavaScript Object Notation) β€” тСкстовый Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, основанный Π½Π° JavaScript. Но ΠΏΡ€ΠΈ этом Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ нСзависим ΠΎΡ‚ JS ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² любом языкС программирования.

JSON ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² REST API. По ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, тСстировщик скорСС всСго столкнСтся с Π½ΠΈΠΌ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΌ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ API β€” ΠΎΠ±Ρ‰Π΅Π΅ знакомство с API

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ XML β€” Π²Ρ‚ΠΎΡ€ΠΎΠΉ популярный Ρ„ΠΎΡ€ΠΌΠ°Ρ‚

Π’ SOAP API Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ XML, Π° Π²ΠΎΡ‚ REST API ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΊΠ°ΠΊ XML, Ρ‚Π°ΠΊ ΠΈ JSON. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΡŽΡ‚ JSON β€” ΠΎΠ½ Π»Π΅Π³Ρ‡Π΅ читаСтся Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ ΠΈ мСньшС вСсит. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ Π΄Π°Π²Π°ΠΉΡ‚Π΅ разбСрСмся, ΠΊΠ°ΠΊ ΠΎΠ½ выглядит, ΠΊΠ°ΠΊ Π΅Π³ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ, ΠΈ ΠΊΠ°ΠΊ Π»ΠΎΠΌΠ°Ρ‚ΡŒ!

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Как устроСн JSON

Π’ качСствС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² JSON ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹:

Число (Ρ†Π΅Π»ΠΎΠ΅ ΠΈΠ»ΠΈ вСщСствСнноС)

Π›ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ true (логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ «истина»), false (логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ «лоТь») ΠΈ null

Π― Π΄ΡƒΠΌΠ°ΡŽ, с простыми значСниями вопросов Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚, поэтому Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ массивы ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. Π’Π΅Π΄ΡŒ Ссли Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎ REST API, Ρ‚ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ / ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ json-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚

JSON-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚

Как устроСн

И разбСрСмся, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ эта запись.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ Π² Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки <>

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚

JSON-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ β€” это нСупорядочСнноС мноТСство ΠΏΠ°Ρ€ Β«ΠΊΠ»ΡŽΡ‡:Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Β».

ΠšΠ»ΡŽΡ‡ β€” это Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ сСрвСру. Он слуТит ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ΠΎΠΌ для ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰Π΅ΠΉ запрос систСмы: «смотри, здСсь Ρƒ мСня Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°!Β». А ΠΈΠ½Π°Ρ‡Π΅ ΠΊΠ°ΠΊ систСма ΠΏΠΎΠΉΠΌΠ΅Ρ‚, Π³Π΄Π΅ Ρ‡Ρ‚ΠΎ? Π•ΠΉ Π½ΡƒΠΆΠ½Π° подсказка!

Π’ΠΎΡ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Β«Π’ΠΈΠΊΡ‚ΠΎΡ€ Иван» β€” это Ρ‡Ρ‚ΠΎ? Π˜Ρ‰Π΅ΠΌ описаниС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Β«queryΒ» Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ β€” Π°Π³Π°, Π΄Π° это ΠΆΠ΅ запрос для подсказок!

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚

Π­Ρ‚ΠΎ ΠΊΠ°ΠΊ Ссли Π±Ρ‹ ΠΌΡ‹ Π²Π±ΠΈΠ»ΠΈ строку Β«Π’ΠΈΠΊΡ‚ΠΎΡ€ Иван» Π² GUI (графичСском интСрфСйсС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ):

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚

Когда ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ„ΠΎΡ€ΠΌΠΎΡ‡ΠΊΡƒ, Ρ‚ΠΎ сразу Π²ΠΈΠ΄ΠΈΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ β€” появляСтся список подсказок. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ прописал Π² ΠΊΠΎΠ΄Π΅ условиС β€” Π΄Π΅Π»Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΠ΅ дСйствиС Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π²Π²ΠΎΠ΄ символа Π² это ΠΏΠΎΠ»Π΅. КакоС дСйствиС? МоТно ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· f12.

ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Network, Π²Π±ΠΈΠ²Π°Π΅ΠΌ Β«Π’ΠΈΠΊΡ‚ΠΎΡ€ Иван» ΠΈ Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ запрос, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΈ этом ΡƒΡ…ΠΎΠ΄ΠΈΡ‚ Π½Π° сСрвСр. Ого, Π΄Π° это Ρ‚ΠΎΡ‚ самый ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Ρ€Π°Π·Π±ΠΈΡ€Π°Π΅ΠΌ!

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚

ΠšΠ»ΠΈΠ΅Π½Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ сСрвСру запрос Π² JSON-Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅. Π’Π½ΡƒΡ‚Ρ€ΠΈ Π΄Π²Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°, Π΄Π²Π΅ ΠΏΠ°Ρ€Ρ‹ Β«ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Β»:

query β€” строка, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΈΡ‰Π΅ΠΌ (Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π±ΠΈΠ» Π² GUI);

count β€” количСство подсказок Π² ΠΎΡ‚Π²Π΅Ρ‚Π΅ (Π² Π”Π°Π΄Π°Ρ‚Π΅ этот ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π·Π°ΡˆΠΈΡ‚ Π² Ρ„ΠΎΡ€ΠΌΡƒ, всСгда возвращаСтся 7 подсказок. Но Ссли Π΄Π΅Ρ€Π³Π°Ρ‚ΡŒ подсказки Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ΅Π½ΡΡ‚ΡŒ!)

ΠŸΠ°Ρ€Ρ‹ Β«ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Β» Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Ρ‹ запятыми:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ Π±Π΅Ρ€Π΅ΠΌ Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ, числа Π½Π΅Ρ‚:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ строка ΠΈΠ»ΠΈ число. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚! Или массив. Или ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² массивС, массив Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅. Π›ΡŽΠ±ΠΎΠ΅ количСство ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ влоТСнности =))

ΠžΠ±ΡŠΠ΅ΠΊΡ‚, массив, число, Π±ΡƒΠ»Π΅Π²ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (true / false) β€” Ссли Ρƒ нас НЕ строка, ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹. Но Π² любом случаС это Π±ΡƒΠ΄Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ ΠΊΠ»ΡŽΡ‡Π°:

ΠŸΠ΅Ρ€Π΅Π½ΠΎΡΡ‹ строк Π΄Π΅Π»Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ. Π’ΠΎΠΎΠ±Ρ‰Π΅ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΈ пСрСносы строк Π½ΡƒΠΆΠ½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ для Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, систСма ΠΏΠΎΠΉΠΌΠ΅Ρ‚ ΠΈ Π±Π΅Π· Π½ΠΈΡ…:

Π’Π°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ

Π’Π°ΠΊ Ρ‚ΠΎΠΆΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ

ΠšΠ»ΡŽΡ‡ β€” ВБЕГДА строка, Π½ΠΎ ΠΌΡ‹ всС Ρ€Π°Π²Π½ΠΎ Π±Π΅Ρ€Π΅ΠΌ Π΅Π³ΠΎ Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ. Π’ JavaScript этого ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ, Π² JSON нСльзя.

Π’Π°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ

Π’Π°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π² JS, Π½ΠΎ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π² JSON

По ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, Ссли Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с простыми значСниями ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, Π° нСсколько слов записываСтС Π² Π²Π΅Ρ€Π±Π»ΡŽΠΆΡŒΠ΅ΠΌΠ Π΅Π³ΠΈΡΡ‚Ρ€Π΅ ΠΈΠ»ΠΈ Π² Π·ΠΌΠ΅ΠΈΠ½ΠΎΠΌ_рСгистрС. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² ΠΊΠ»ΡŽΡ‡Π΅ нСсколько слов Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΠ±Π΅Π», ΠΊΠ»ΡŽΡ‡ Π½ΡƒΠΆΠ½ΠΎ Π²Π·ΡΡ‚ΡŒ Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ.

my query: «Π’ΠΈΠΊΡ‚ΠΎΡ€ Иван»

«my query»: «Π’ΠΈΠΊΡ‚ΠΎΡ€ Иван»

И всС ΠΆΠ΅ я Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ простыС названия ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ snake_case.

ΠŸΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π² любом порядкС. Π’Π΅Π΄ΡŒ JSON-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ β€” это нСупорядочСнноС мноТСство ΠΏΠ°Ρ€ Β«ΠΊΠ»ΡŽΡ‡:Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Β».

Π’Π°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ

Π’Π°ΠΊ Ρ‚ΠΎΠΆΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ

ΠžΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ это ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, ΠΈ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ! ΠŸΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰Π°Ρ запрос систСма Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Π² запросС, Π° Π½Π΅ Π½Π° порядок ΠΈΡ… слСдования. ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово Β«Π΄ΠΎΠ»ΠΆΠ½Π°Β» )) Π₯отя знаю ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹, ΠΊΠΎΠ³Π΄Π° ΠΎΡ‚ пСрСстановки ΠΊΠ»ΡŽΡ‡Π΅ΠΉ мСстами всё ломалось, вСдь Β«ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠ΄Ρ‚ΠΈ запрос, Π° Π½Π΅ count!Β».

ΠšΠ»ΡŽΡ‡ ΠΈΠ»ΠΈ свойство?

Π’ΠΎΡ‚ Ρƒ нас Π΅ΡΡ‚ΡŒ JSON-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Β«queryΒ»? Если я Ρ…ΠΎΡ‡Ρƒ ΠΊ Π½Π΅ΠΌΡƒ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ, ΠΊΠ°ΠΊ ΠΌΠ½Π΅ это ΡΠΊΠ°Π·Π°Ρ‚ΡŒ? Π•ΡΡ‚ΡŒ 2 Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°, ΠΈ ΠΎΠ±Π° ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅:

β€” ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ свойству ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°;

β€” ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Ρƒ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚

Π’ΠΎ Π΅ΡΡ‚ΡŒ Β«queryΒ» ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ, Ρ‚Π°ΠΊ ΠΈ свойством. А ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Ρ‚ΠΎ?

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚

ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΈ Ρ‚Π°ΠΊ, ΠΈ Ρ‚Π°ΠΊ! ΠŸΡ€ΠΎΡΡ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ опрСдСлСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°:

ΠžΠ±ΡŠΠ΅ΠΊΡ‚

Π’ JS ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ β€” это ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Π£ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π΅ΡΡ‚ΡŒ Π½Π°Π±ΠΎΡ€ свойств ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²:

Бвойства β€” ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚, ЧВО ΠΌΡ‹ создаСм.

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ β€” Ρ‡Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΡƒΠΌΠ΅Π΅Ρ‚ ДЕЛАВЬ.

Π’ΠΎ Π΅ΡΡ‚ΡŒ Ссли ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΌΠ°ΡˆΠΈΠ½Ρƒ, Π΅ΡΡ‚ΡŒ Π΄Π²Π° ΠΏΡƒΡ‚ΠΈ:

ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ 10 Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… β€” модСль, Π½ΠΎΠΌΠ΅Ρ€, Ρ†Π²Π΅Ρ‚, ΠΏΡ€ΠΎΠ±Π΅Π³.

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π³Π΄Π΅ Π±ΡƒΠ΄ΡƒΡ‚ всС эти свойства.

Аналогично с ΠΊΠΎΡˆΠ΅Ρ‡ΠΊΠΎΠΉ, собачкой, Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΈΠ· записной ΠΊΠ½ΠΈΠΆΠΊΠΈ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (ООП) ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΠΌΡ‹ΡΠ»ΠΈΡ‚ΡŒ Π½Π΅ Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ. Π₯отя Π±Ρ‹ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ это Π»ΠΎΠ³ΠΈΡ‡Π½Π΅Π΅. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² ΠΊΠΎΠ΄Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ· Π½ΠΈΡ… взаимосвязаны?

Π’ΠΎΡ‚ Ссли я создаю ΠΌΠ°ΡˆΠΈΠ½Ρƒ, сколько ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΌΠ½Π΅ Π½Π°Π΄ΠΎ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ? А Ссли мСняю Π΄Π°Π½Π½Ρ‹Π΅? А Ссли ΡƒΠ΄Π°Π»ΡΡŽ? Когда ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ разбросаны ΠΏΠΎ ΠΊΠΎΠ΄Ρƒ, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ Π² интСрфСйсС. А Ссли Ρƒ нас Π΅ΡΡ‚ΡŒ Ρ†Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, всСгда ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ Ρƒ Π½Π΅Π³ΠΎ Π΅ΡΡ‚ΡŒ свойства ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹.

НапримСр, создадим ΠΊΠΎΡˆΠ΅Ρ‡ΠΊΡƒ:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚

Π’ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ cat Π΅ΡΡ‚ΡŒ:

Бвойства β€” name, year (Ρ‡Ρ‚ΠΎ это Π·Π° ΠΊΠΎΡˆΠ΅Ρ‡ΠΊΠ°)

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ β€” sleep (Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° ΡƒΠΌΠ΅Π΅Ρ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ, описаниС повСдСния)

По ΠΊΠΎΠ΄Ρƒ сразу Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ Ρƒ ΠΊΠΎΡˆΠ΅Ρ‡ΠΊΠΈ Π΅ΡΡ‚ΡŒ имя ΠΈ возраст, ΠΎΠ½Π° ΡƒΠΌΠ΅Π΅Ρ‚ ΡΠΏΠ°Ρ‚ΡŒ. Если Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Ρ€Π΅ΡˆΠΈΡ‚ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ свойства ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΎΠ½ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚ этот ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΈ снова всё Π² ΠΎΠ΄Π½ΠΎΠΌ мСстС.

Если ΠΏΠΎΡ‚ΠΎΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΏΠΎ ΠΊΠΎΡˆΠ΅Ρ‡ΠΊΠ΅, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ сдСлаСт REST-ΠΌΠ΅Ρ‚ΠΎΠ΄ getByID, searchKitty, ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ. А Π² Π½Π΅ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ свойства ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²Π΅Ρ€Π½Π΅Ρ‚

И ΠΏΡ€ΠΈ использовании ΠΈΠΌΠ΅Π½ΠΈ Π²ΠΏΠΎΠ»Π½Π΅ умСстно Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ Β«ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ свойству ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Β». Π­Ρ‚ΠΎ вСдь ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (ΠΊΠΎΡˆΠ΅Ρ‡ΠΊΠ°), ΠΈ Π΅Π³ΠΎ свойства!

Набор ΠΏΠ°Ρ€ Β«ΠΊΠ»ΡŽΡ‡:Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Β»

Π’Ρ‚ΠΎΡ€ΠΎΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° β€” нСупорядочСнноС мноТСство ΠΏΠ°Ρ€ ΠΊΠ»ΡŽΡ‡:Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠ΅ Π² Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки <>.

Оно ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобок ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ Π½Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ цСлостный ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π° просто Π½Π°Π±ΠΎΡ€ ΠΏΠΎΠ»Π΅ΠΉ. Они ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ связаны ΠΌΠ΅ΠΆΠ΄Ρƒ собой, Π° ΠΌΠΎΠ³ΡƒΡ‚ относится ΠΊ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Ρ€Π°Π·Π½Ρ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ΄Π°:

client_fio (Π² ΠΊΠΎΠ΄Π΅ это свойство fio ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° client)

kitty_name (Π² ΠΊΠΎΠ΄Π΅ это свойство name ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° cat)

car_model (Π² ΠΊΠΎΠ΄Π΅ это свойство model ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° car)

Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ эти ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ β€” ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Ρƒ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚

Но Π² любом случаС, ΠΈ Β«ΠΊΠ»ΡŽΡ‡Β», ΠΈ «свойство» Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ. НС ΠΏΡƒΠ³Π°ΠΉΡ‚Π΅ΡΡŒ, Ссли Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ / ΡΡ‚Π°Ρ‚ΡŒΠ΅ / Π²ΠΈΠ΄Π΅ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Π»ΠΈ ΠΎΠ΄Π½ΠΎ, Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π΄Ρ€ΡƒΠ³ΠΎΠ΅. Π­Ρ‚ΠΎ просто Ρ€Π°Π·Π½Ρ‹Π΅ Ρ‚Ρ€Π°ΠΊΡ‚ΠΎΠ²ΠΊΠΈ Β―\_(ツ)_/Β―

Π˜Ρ‚ΠΎΠ³ΠΎ

Json-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ β€” это нСупорядочСнноС мноТСство ΠΏΠ°Ρ€ Β«ΠΊΠ»ΡŽΡ‡:Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Β», Π·Π°ΠΊΠ»ΡŽΡ‡Ρ‘Π½Π½ΠΎΠ΅ Π² Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки Β«< >Β». ΠšΠ»ΡŽΡ‡ описываСтся строкой, ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌ ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ стоит символ Β«:Β». ΠŸΠ°Ρ€Ρ‹ ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π° запятыми.

ЗначСния ΠΊΠ»ΡŽΡ‡Π° ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹ΠΌΠΈ:

И Ρ‚ΠΎΠ»ΡŒΠΊΠΎ строку ΠΌΡ‹ Π±Π΅Ρ€Π΅ΠΌ Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ!

JSON-массив

Как устроСн

Π”Π°Π²Π°ΠΉΡ‚Π΅ снова Π½Π°Ρ‡Π½Π΅ΠΌ с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°. Π­Ρ‚ΠΎ массив:

Массив Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки []

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚

Π’Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобок ΠΈΠ΄Π΅Ρ‚ Π½Π°Π±ΠΎΡ€ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π’ΡƒΡ‚ Π½Π΅Ρ‚ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, ΠΊΠ°ΠΊ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅, поэтому ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ массиву ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ Π½ΠΎΠΌΠ΅Ρ€Ρƒ элСмСнта. И поэтому Π² случаС массива ΠΌΠ΅Π½ΡΡ‚ΡŒ мСстами Π΄Π°Π½Π½Ρ‹Π΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ нСльзя. Π­Ρ‚ΠΎ упорядочСнноС мноТСство Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚

ЗначСния Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Ρ‹ запятыми:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚

ЗначСния Π²Π½ΡƒΡ‚Ρ€ΠΈ

Π’Π½ΡƒΡ‚Ρ€ΠΈ массива ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ всС, Ρ‡Ρ‚ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ:

Π¦ΠΈΡ„Ρ€Ρ‹

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ

БмСсь

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹

Π”Π°, Π° ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π±Ρ‹ ΠΈ Π½Π΅Ρ‚:

Или Π΄Π°ΠΆΠ΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π±ΠΎΠ»Π΅Π΅ слоТноС. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΡ‚Π²Π΅Ρ‚Π° подсказок ΠΈΠ· Π”Π°Π΄Π°Ρ‚Ρ‹:

БистСма Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ массив подсказок. Бколько запросили Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ count, ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ. КаТдая подсказка β€” ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. И это Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ сама слоТная структура! Π£Ρ€ΠΎΠ²Π½Π΅ΠΉ влоТСнности ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ сколько ΡƒΠ³ΠΎΠ΄Π½ΠΎ β€” массив Π² массивС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Π½ΡƒΡ‚Ρ€ΠΈ массива, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

Ну ΠΈ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ массив Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ запроса Π² подсказки:

Π­Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π² Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобках ΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π½Π°Π±ΠΎΡ€ ΠΏΠ°Ρ€ Β«ΠΊΠ»ΡŽΡ‡:Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Β»). А Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Π° «parts» β€” это массив элСмСнтов!

Π˜Ρ‚ΠΎΠ³ΠΎ

Массив β€” это просто Π½Π°Π±ΠΎΡ€ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… запятыми. Находится Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобок [].

А Π²ΠΎΡ‚ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π½Π΅Π³ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ всС, Ρ‡Ρ‚ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ:

смСсь ΠΈΠ· всСго Π²Ρ‹ΡˆΠ΅Π½Π°Π·Π²Π°Π½Π½ΠΎΠ³ΠΎ

JSON vs XML

Π’ SOAP ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ XML, Ρ‚Π°ΠΌ Π±Π΅Π· Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ².

Π’ REST ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊΠ°ΠΊ XML, Ρ‚Π°ΠΊ ΠΈ JSON. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΎΡ‚Π΄Π°ΡŽΡ‚ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Π΅Π½ΠΈΠ΅ json-Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρƒ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΏΡ€ΠΎΡ‰Π΅ воспринимаСтся ΠΈ мСньшС вСсит. Π’ XML Π΅ΡΡ‚ΡŒ лишняя обвязка, Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»Π΅ΠΉ повторяСтся Π΄Π²Π°ΠΆΠ΄Ρ‹ (ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΠΈ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Ρ‚Π΅Π³).

Π‘Ρ€Π°Π²Π½ΠΈΡ‚Π΅ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ запрос Π½Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ:

JSON

Π—Π° счСт Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π½Π΅ Π΄ΡƒΠ±Π»ΠΈΡ€ΡƒΠ΅ΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ поля ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· Β«surname – surnameΒ», Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ JSON ΠΏΡ€ΠΎΡ‰Π΅. И Π·Π° счСт этого ΠΆΠ΅ запрос мСньшС вСсит, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΏΠ»ΠΎΡ…ΠΎΠΌ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅ Π±Ρ‹Π²Π°Π΅Ρ‚ Π²Π°ΠΆΠ½ΠΎ. Или ΠΏΡ€ΠΈ большой Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅.

Well Formed JSON

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ сам Ρ€Π΅ΡˆΠ°Π΅Ρ‚, ΠΊΠ°ΠΊΠΎΠΉ JSON Π±ΡƒΠ΄Π΅Ρ‚ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΡΡ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ, Π° ΠΊΠ°ΠΊΠΎΠΉ Π½Π΅Ρ‚. Но Π΅ΡΡ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ нСльзя Π½Π°Ρ€ΡƒΡˆΠ°Ρ‚ΡŒ. Наш JSON Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ well formed, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ синтаксичСски ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΉ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ JSON Π½Π° синтаксис, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ любой JSON Validator (Ρ‚Π°ΠΊ ΠΈ Π³ΡƒΠ³Π»ΠΈΡ‚Π΅). Π― Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ сайт w3schools. Π’Π°ΠΌ Π΅ΡΡ‚ΡŒ сам Π²Π°Π»ΠΈΠ΄Π°Ρ‚ΠΎΡ€ + описаниС Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Ρ… ошибок с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ.

Но ΡƒΡ‡Ρ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ парсСры Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ΄Π° Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π½Π΅ ΠΏΠΎ Π²ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ ΠΈΠ»ΠΈ w3schools, Π° ΠΏΠΎ RFC, стандарту. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ Ссли Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ Β«ΠΊΠ°ΠΊΠΈΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ JSONΒ», Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π΅Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ RFC ΠΈ ΠΈΡΠΊΠ°Ρ‚ΡŒ Ρ‚Π°ΠΌ JSON Grammar. Однако простому тСстировщику Ρ…Π²Π°Ρ‚ΠΈΡ‚ Π½Π°Π±ΠΎΡ€Π° Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… ΠΏΡ€Π°Π²ΠΈΠ» с w3schools, ΠΈΡ… ΠΈ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ.

ΠŸΡ€Π°Π²ΠΈΠ»Π° well formed JSON:

Π”Π°Π½Π½Ρ‹Π΅ написаны Π² Π²ΠΈΠ΄Π΅ ΠΏΠ°Ρ€ Β«ΠΊΠ»ΡŽΡ‡:Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Β»

Π”Π°Π½Π½Ρ‹Π΅ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Ρ‹ запятыми

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ находится Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобок <>

Массив β€” Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… []

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚

1. Π”Π°Π½Π½Ρ‹Π΅ написаны Π² Π²ΠΈΠ΄Π΅ ΠΏΠ°Ρ€ Β«ΠΊΠ»ΡŽΡ‡:Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Β»

Π’ JSON Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Π° Π½ΡƒΠΆΠ½ΠΎ Π±Ρ€Π°Ρ‚ΡŒ Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ, Π² JavaScript Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ β€” ΠΎΠ½ ΠΈ Ρ‚Π°ΠΊ Π·Π½Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ это строка. Если ΠΌΡ‹ тСстируСм API, Ρ‚ΠΎ Ρ‚Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Π½Π½ΠΎ JSON, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½ΡƒΠΆΠ½Ρ‹.

Но ΡƒΡ‡Ρ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ это ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ касаСтся JSON-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ json ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈ числом, ΠΈ строкой. Π’ΠΎ Π΅ΡΡ‚ΡŒ:

Π­Ρ‚ΠΎ Ρ‚ΠΎΠΆΠ΅ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΉ json, Ρ…ΠΎΡ‚ΡŒ ΠΈ Π½Π΅ Π² Π²ΠΈΠ΄Π΅ ΠΏΠ°Ρ€ Β«ΠΊΠ»ΡŽΡ‡:Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Β».

И Π²ΠΎΡ‚ Ссли Ρƒ вас ΠΏΠΎ Π’Π— ΠΈΠΌΠ΅Π½Π½ΠΎ json-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π° Π²Ρ…ΠΎΠ΄Π΅, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π΅Π³ΠΎ ΡΠ»ΠΎΠΌΠ°Ρ‚ΡŒ, Π½Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π² ΠΊΠ»ΡŽΡ‡. Π•Ρ‰Ρ‘ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π½ΠΎ это Π½Π΅ совсСм Π½Π΅Π³Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ тСст β€” систСма ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΡΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ это Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ, ΠΊΠ°ΠΊ пустой Π²Π²ΠΎΠ΄.

2. Π”Π°Π½Π½Ρ‹Π΅ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Ρ‹ запятыми

ΠŸΠ°Ρ€Ρ‹ Β«ΠΊΠ»ΡŽΡ‡:Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Β» Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ запятыми. ПослС послСднСй ΠΏΠ°Ρ€Ρ‹ запятая Π½Π΅ Π½ΡƒΠΆΠ½Π°!

Випичная ошибка: поставили Π·Π°ΠΏΡΡ‚ΡƒΡŽ Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚

Π­Ρ‚ΠΎ послСдствия копипасты. Взяли ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ· Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, подставили Π² постман (Π½Ρƒ ΠΈΠ»ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ API подставил Π² ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ систСму), Π° ΠΏΠΎΡ‚ΠΎΠΌ Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ поля мСстами.

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π½Π° запрос β€” Π½Ρƒ, query Ρ‚ΠΎ Π²Π°ΠΆΠ½Π΅Π΅ Ρ‡Π΅ΠΌ count, Π½Π°Π΄ΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΡ… мСстами! ΠšΠΎΠΏΠΈΠΏΠ°ΡΡ‚ΠΈΠΌ всю строку Β««count»: 7,Β», вставляСм Π½ΠΈΠΆΠ΅. ΠŸΠ΅Ρ€Π΅Π΄ Π½Π΅ΠΉ Π·Π°ΠΏΡΡ‚ΡƒΡŽ добавляСм, Π° «лишнюю» ΡƒΠ±Ρ€Π°Ρ‚ΡŒ Π·Π°Π±Ρ‹Π²Π°Π΅ΠΌ. По ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅ Ρƒ мСня это частая ошибка, ΠΊΠΎΠ³Π΄Π° я Β«ΠΊΡ€ΡƒΡ‡Ρƒ-Π²Π΅Ρ€Ρ‡Ρƒ, мСстами ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ…ΠΎΡ‡ΡƒΒ».

Π”Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ β€” ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ добавляСм Π² запрос Π½ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π½Ρ‹ΠΉ сцСнарий:

Π£ мСня ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ запрос Π² Postman-Π΅. Но Π² Π½Π΅ΠΌ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ ΠΏΠΎΠ»Π΅ΠΉ.

ΠšΠΎΠΏΠΈΡ€ΡƒΡŽ ΠΈΠ· Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Π½ΡƒΠΆΠ½ΠΎΠ΅ ΠΌΠ½Π΅ ΠΏΠΎΠ»Π΅. Оно Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π½Π΅ послСднСС, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΈΠ΄Ρ‘Ρ‚ с запятой Π½Π° ΠΊΠΎΠ½Ρ†Π΅.

Π’ΡΡ‚Π°Π²Π»ΡΡŽ сСбС Π² ΠΊΠΎΠ½Ρ†Π΅ запроса β€” Π² Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΊΠΎΠ½Π΅Ρ† добавляю Π·Π°ΠΏΡΡ‚ΡƒΡŽ, ΠΏΠΎΡ‚ΠΎΠΌ Π²ΡΡ‚Π°Π²Π»ΡΡŽ Π½ΠΎΠ²ΡƒΡŽ строку.

ΠžΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽ запрос β€” ΠΎΠΉ, ошибка! Из копипасты Ρ‚ΠΎ Π·Π°ΠΏΡΡ‚ΡƒΡŽ Π½Π΅ ΡƒΠ±Ρ€Π°Π»Π°!

Π― Π½Π° этот сцСнарий постоянно Π½Π°ΠΏΠ°Ρ€Ρ‹Π²Π°ΡŽΡΡŒ ΠΏΡ€ΠΈ тСстировании пСрСстановки ΠΏΠΎΠ»Π΅ΠΉ. А вСдь это Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ! Π₯ΠΎΡ€ΠΎΡˆΠΈΠΉ запрос Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊ Π² матСматичСской присказкС: Β«ΠΎΡ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Ρ‹ мСст слагаСмых сумма Π½Π΅ мСняСтся».

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚

НС зря ΠΆΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ json-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° гласит, Ρ‡Ρ‚ΠΎ «это нСупорядочСнноС мноТСство ΠΏΠ°Ρ€ ΠΊΠ»ΡŽΡ‡:Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Β». Π Π°Π· нСупорядочСнноС β€” я ΠΌΠΎΠ³Ρƒ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡ΠΈ Π² любом порядкС. И сСрвСр Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΏΠΎ запросу Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Π°, Π° Π½Π΅ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ индСксу элСмСнта.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с API, Ρ‚ΠΎΠΆΠ΅ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΈΡ‚ΡŒΡΡ. И Ссли систСма Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π΅Π²Ρ€Π°Π·ΡƒΠΌΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ сообщСниС ΠΎΠ± ошибкС, ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ»Π³ΠΎ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ, Π³Π΄Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ Ρ‚Ρ‹ Π½Π°Π»Π°ΠΆΠ°Π». ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ошибки Ρ‚ΠΎΠΆΠ΅ тСстируСм.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ систСма ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Β«ΠΏΠ»ΠΎΡ…ΠΎΠΉ jsonΒ», Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ Π·Π°ΠΏΡΡ‚ΡƒΡŽ Π½Π° Ρ‚ΠΎΡ‡ΠΊΡƒ с запятой:

Или Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ лишнюю Π·Π°ΠΏΡΡ‚ΡƒΡŽ Π² ΠΊΠΎΠ½Ρ†Π΅ запроса β€” эта ошибка Π±ΡƒΠ΄Π΅Ρ‚ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°Ρ‚ΡŒΡΡ Ρ‡Π°Ρ‰Π΅!

Или пропуститС Π·Π°ΠΏΡΡ‚ΡƒΡŽ Ρ‚Π°ΠΌ, Π³Π΄Π΅ ΠΎΠ½Π° Π½ΡƒΠΆΠ½Π°:

Аналогично с массивом. Π”Π°Π½Π½Ρ‹Π΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ. Π₯ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»ΠΎΠΌΠ°Ρ‚ΡŒ? Π—Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ Π·Π°ΠΏΡΡ‚ΡƒΡŽ Π½Π° Ρ‚ΠΎΡ‡ΠΊΡƒ с запятой! Π’ΠΎΠ³Π΄Π° систСма Π±ΡƒΠ΄Π΅Ρ‚ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρƒ вас Π½Π΅ 5 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π° 1 большоС:

*Π― Π΄ΠΎΠ±Π°Π²ΠΈΠ»Π° ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠ΄Π°. Но ΡƒΡ‡Ρ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π² JSON ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² Π½Π΅Ρ‚. Π’ΠΎΠΎΠ±Ρ‰Π΅. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ Ссли Π²Ρ‹ Π΄Π΅Π»Π°Π΅Ρ‚Π΅ запрос Π² Postman, Π½Π΅ получится Ρ€Π°ΡΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Ρƒ Ρ€Π°Π·Π½Ρ‹Ρ… строчСк Π² JSON-Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅.

3. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ находится Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобок <>

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠ»ΠΎΠΌΠ°Ρ‚ΡŒ это условиС, ΡƒΠ±Π΅Ρ€ΠΈΡ‚Π΅ ΠΎΠ΄Π½Ρƒ Ρ„ΠΈΠ³ΡƒΡ€Π½ΡƒΡŽ скобку:

Или ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΊΠ°ΠΊ массив:

Π’Π΅Π΄ΡŒ Ссли систСма ΠΆΠ΄Π΅Ρ‚ ΠΎΡ‚ вас Π² запросС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Ρ‚ΠΎ ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΊΠ°Ρ‚ΡŒ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚

4. Массив β€” Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… []

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠ»ΠΎΠΌΠ°Ρ‚ΡŒ это условиС, ΡƒΠ±Π΅Ρ€ΠΈΡ‚Π΅ ΠΎΠ΄Π½Ρƒ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΡƒΡŽ скобку:

Или ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ массив ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π² Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобках:

Π’Π΅Π΄ΡŒ Ссли систСма ΠΆΠ΄Π΅Ρ‚ ΠΎΡ‚ вас Π² запросС массив, Ρ‚ΠΎ ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки.

Π˜Ρ‚ΠΎΠ³ΠΎ

JSON (JavaScript Object Notation) β€” тСкстовый Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, основанный Π½Π° JavaScript. Π›Π΅Π³ΠΊΠΎ читаСтся Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ ΠΈ машиной. Часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² REST API (Ρ‡Π°Ρ‰Π΅, Ρ‡Π΅ΠΌ XML).

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дТСйсон Π² ΠΈΡ‚

ΠšΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Π΅ значСния JSON:

JSON-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ β€” нСупорядочСнноС мноТСство ΠΏΠ°Ρ€ Β«ΠΊΠ»ΡŽΡ‡:Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Β», Π·Π°ΠΊΠ»ΡŽΡ‡Ρ‘Π½Π½ΠΎΠ΅ Π² Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки Β«< >Β».

Массив β€” упорядочСнный Π½Π°Π±ΠΎΡ€ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… запятыми. Находится Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобок [].

Число (Ρ†Π΅Π»ΠΎΠ΅ ΠΈΠ»ΠΈ вСщСствСнноС).

Π›ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ true (логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ «истина»), false (логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ «лоТь») ΠΈ null.

ΠŸΡ€ΠΈ тСстировании REST API Ρ‡Π°Ρ‰Π΅ всСго ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, Ρ‡Ρ‚ΠΎ Π² запросС, Ρ‡Ρ‚ΠΎ Π² ΠΎΡ‚Π²Π΅Ρ‚Π΅. ΠœΠ°ΡΡΠΈΠ²Ρ‹ Ρ‚ΠΎΠΆΠ΅ Π±ΡƒΠ΄ΡƒΡ‚, Π½ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² Π² JSON, ΡƒΠ²Ρ‹, Π½Π΅Ρ‚.

ΠŸΡ€Π°Π²ΠΈΠ»Π° well formed JSON:

Π”Π°Π½Π½Ρ‹Π΅ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ написаны Π² Π²ΠΈΠ΄Π΅ ΠΏΠ°Ρ€ Β«ΠΊΠ»ΡŽΡ‡:Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Β»

Π”Π°Π½Π½Ρ‹Π΅ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ ΠΈΠ»ΠΈ массивС Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Ρ‹ запятыми

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *