Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² 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 Π½Π° Π²Π΅Π±-сайтС.

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

JavaScript – Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ JSON ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½ΠΈΠΌ

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json

Π£Ρ€ΠΎΠΊ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ рассматриваСтся, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ JSON ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ‚ прСимущСства ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ JSON

JSON (JavaScript Object Notation) – это тСкстовый Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ прСдставлСния Π΄Π°Π½Π½Ρ‹Ρ… Π² Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° JavaScript. ΠŸΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ JSON, Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ XML ΠΈ YAML, для ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json

НСсмотря Π½Π° своё Π½Π°Π·Π²Π°Π½ΠΈΠ΅, JSON ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² JavaScript, Π½ΠΎ ΠΈ Π² любом Π΄Ρ€ΡƒΠ³ΠΎΠΌ языкС программирования.

JSON ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°ΠΌΠΈ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ достаточно вСсомым прСимущСством. Он Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π½ΠΈΡ… являСтся Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΌ, Π° это ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ ΠΏΡ€ΠΈ ΠΎΠ±ΠΌΠ΅Π½Π΅ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² сСти Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚. ΠšΡ€ΠΎΠΌΠ΅ этого, JSON Π±ΠΎΠ»Π΅Π΅ прост Π² использовании, Π΅Π³ΠΎ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈ ΠΏΠΈΡΠ°Ρ‚ΡŒ.

ΠŸΡ€ΠΈ Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ JSON ΠΎΡ‡Π΅Π½ΡŒ часто примСняСтся Π² качСствС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΡ‚ Π²Π΅Π±-сСрвСра ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ (Π²Π΅Π±-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρƒ) ΠΏΡ€ΠΈ AJAX запросС.

Как выглядит этот процСсс? Π•Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ Π΄Π²ΡƒΡ… шагов. На ΠΏΠ΅Ρ€Π²ΠΎΠΌ шагС, сСрвСр, ΠΏΠΎ запросу ΠΏΡ€ΠΈΡˆΠ΅Π΄ΡˆΠ΅ΠΌΡƒ Π΅ΠΌΡƒ ΠΎΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, сначала Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Ρ‚Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΎΡ‡Π΅Π½ΡŒ просто ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ Π² строку JSON. Π—Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° сСрвСрС ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ JSON Π΄Π°Π½Π½Ρ‹Ρ… Π² качСствС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ. На Π²Ρ‚ΠΎΡ€ΠΎΠΌ шагС, ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π² качСствС ΠΎΡ‚Π²Π΅Ρ‚Π° ΠΎΡ‚ сСрвСра строку JSON ΠΈ распаковываСт Π΅Ρ‘, Ρ‚.Π΅. ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ Π² JavaScript ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. ПослС этого Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ дальнСйшиС с Π½ΠΈΠΌΠΈ дСйствия, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, выводятся Π½Π° страницу.

Π­Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² использования Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° JSON. Но Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π΅ ограничиваСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ этим сцСнариСм, ΠΈΡ… ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π²Π΅Π±.

Π’ JSON, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ XML ΠΈ YAML, Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ JavaScript. Но JSON – это Π½Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π° строка. ΠŸΡ€ΠΈ этом Π½Π΅ любой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ JavaScript ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Ρ‘Π½ ΠΎΠ΄ΠΈΠ½ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ Π² JSON. НапримСр, Ссли Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π΅ΡΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΏΡ€ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΈ Π² строку JSON Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΎΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ ΠΈ Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π² Π½Π΅Ρ‘.

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° JSON

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° строки JSON практичСски Π½ΠΈΡ‡Π΅ΠΌ Π½Π΅ отличаСтся ΠΎΡ‚ записи JavaScript ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΡƒΡΠ»ΠΎΠΆΠ½ΡΡ‚ΡŒ доступ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ, ΠΏΡ€ΠΈ Π·Π°Π΄Π°Π½ΠΈΠΈ ΠΊΠ»ΡŽΡ‡Π°ΠΌ ΠΈΠΌΡ‘Π½ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ Ρ‚Π΅Ρ… ΠΆΠ΅ ΠΏΡ€Π°Π²ΠΈΠ», Ρ‡Ρ‚ΠΎ ΠΈ ΠΏΡ€ΠΈ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….

Π’Ρ‚ΠΎΡ€ΠΎΠ΅ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Π° Π² JSON ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ²: string (строкой), number (числом), object (ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ), array (массивом), boolean (логичСским Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ true ΠΈΠ»ΠΈ false ) ΠΈΠ»ΠΈ null (ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ JavaScript). НапримСр, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Π° Π² JSON Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ ΠΈΠ»ΠΈ Π΄Π°Ρ‚ΠΎΠΉ (ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ Ρ‚ΠΈΠΏΠ° Date ).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ JSON строки, состоящСй ΠΈΠ· Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…:

ΠŸΡ€ΠΈ этом стоит ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ JSON Π½Π΅ допускаСт использованиС Π²Π½ΡƒΡ‚Ρ€ΠΈ своСй структуры ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π².

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

Как Π±Ρ‹Π»ΠΎ ΡƒΠΆΠ΅ ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½ΠΎ Π²Ρ‹ΡˆΠ΅, JSON – это строка.

Π Π°Π±ΠΎΡ‚Π° с JSON Π² JavaScript ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ осущСствляСтся Π² Π΄Π²ΡƒΡ… направлСниях:

ΠŸΠ°Ρ€ΡΠΈΠ½Π³ JSON

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования eval для парсинга JSON:

ΠœΠ΅Ρ‚ΠΎΠ΄ eval Π½Π΅ рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ Π½Π΅ бСзопасСн. Π’Π°ΠΊ Ссли ΠΊΡ‚ΠΎ-Ρ‚ΠΎ смоТСт Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π² строку JSON, Ρ‚ΠΎ ΠΎΠ½ выполнится.

ИспользованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° JSON.parse :

ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° JavaScript Π² строку JSON

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° JSON

Π€ΠΎΡ€ΠΌΠ°Ρ‚ прСдставлСния Π΄Π°Π½Π½Ρ‹Ρ… JSON ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ прСимущСства:

Из-Π·Π° Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ прСимущСств ΠΎΠ½ стал ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² JavaScript, Π½ΠΎ ΠΈ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… языках, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ C, Ruby, Perl, Python, PHP ΠΈ Ρ‚.Π΄.

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² JSON ΠΈ XML

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

Π Π°Π±ΠΎΡ‚Π° с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ JSON послС парсинга

Π Π°Π±ΠΎΡ‚Π° с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ JSON послС парсинга осущСствляСтся ΠΊΠ°ΠΊ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ JavaScript.

Рассмотрим основныС ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json

Для ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° элСмСнтов Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» for..in :

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² 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
ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ΠΎΠ²: 532315
ΠŸΡ€Π°Π²ΠΈΠ»Π° ΠΏΠ΅Ρ€Π΅ΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠΈ

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

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

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

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json

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

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json

Π’ΠΎΠΏ 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. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json

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

Как устроСн

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

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json

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

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

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json

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

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json

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

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

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

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json

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

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

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

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

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

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

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

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

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json

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

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

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json

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

Π˜Ρ‚ΠΎΠ³ΠΎ

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

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

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

JSON-массив

Как устроСн

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

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² 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:

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

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

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

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json

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

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

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

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

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

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

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

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json

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

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

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

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

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

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

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

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json

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

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

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

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

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

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

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

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

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

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

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json

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

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

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

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

Π˜Ρ‚ΠΎΠ³ΠΎ

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив Π² json

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

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

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

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

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

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

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

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

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

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

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

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

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