ΠΡΠΈΠΌΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ² json: JSON — ΠΠ°ΡΡΠΈΠ²Ρ
JSON — ΠΠ°ΡΡΠΈΠ²Ρ
ΠΠ°ΡΡΠΈΠ²Ρ Π² JSON ΠΏΠΎΡΡΠΈ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΡΠΎ ΠΌΠ°ΡΡΠΈΠ²Ρ Π² JavaScript.
Π JSON ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΡΡΠΎΠΊΠΈ, ΡΠΈΡΠ»Π°, ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΌΠ°ΡΡΠΈΠ²Ρ, boolean ΠΈΠ»ΠΈ null.
Π JavaScript ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΊΡΠΎΠΌΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π΄ΡΡΠ³ΠΈΠ΅ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ JavaScript, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΠΈ, Π΄Π°ΡΡ ΠΈ undefined.
ΠΡΠΈΠΌΠ΅Ρ:
[ "Ford", "BMW", "Fiat" ]
ΠΠ°ΡΡΠΈΠ²Ρ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ°Ρ JSON
ΠΠ°ΡΡΠΈΠ²Ρ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΡΠ²ΠΎΠΉΡΡΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²:
{
"name":"John",
"age":30,
"cars":[ "Ford", "BMW", "Fiat" ]
}
ΠΠΎΡΡΡΠΏ ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ ΠΌΠ°ΡΡΠΈΠ²Π°
ΠΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΌΠ°ΡΡΠΈΠ²Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π½ΠΎΠΌΠ΅ΡΠ° Π΅Π³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ°:
x = myObj.cars[0];
ΠΠ±Ρ ΠΎΠ΄ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π°
ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ±ΠΎΠΉΡΠΈ Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠΈΠΊΠ»Π° for-in:
for (i in myObj.cars) {
x += myObj.cars[i];
}
ΠΠ»ΠΈ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠΈΠΊΠ»Π° for:
for (i = 0; i < myObj.cars.length; i++) {
x += myObj.cars[i];
}
ΠΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ°Ρ JSON
ΠΠ½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ JSON:
myObj = {
"name":"John",
"age":30,
"cars": [
{ "name":"Ford", "models":[ "Fiesta", "Focus", "Mustang" ] },
{ "name":"BMW", "models":[ "320", "X3", "X5" ] },
{ "name":"Fiat", "models":[ "500", "Panda" ] }
]
}
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌ Π²Π½ΡΡΡΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠΈΠΊΠ» for-in Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°:
for (i in myObj.cars) {
x += "<h2>" + myObj.cars[i].name + "</h2>";
for (j in myObj.cars[i].models) {
x += myObj.cars[i].models[j];
}
}
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ²Π°
Π§ΡΠΎΠ±Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΌΠ°ΡΡΠΈΠ²Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΅Π³ΠΎ Π½ΠΎΠΌΠ΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ°:
myObj.cars[1] = "Mercedes";
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΌΠ°ΡΡΠΈΠ²Π°
Π§ΡΠΎΠ±Ρ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ delete:
delete myObj.cars[1];
JSON.parse() ΠΠ²Π΅ΡΡ JSON — ΠΠ±ΡΠ΅ΠΊΡΡ
JSON Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ JSON ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° JavaScript.
JSON ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠ°Π²ΠΈΠ»
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ JSON Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΈΠ· JavaScript ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ:
- ΠΠ°Π½Π½ΡΠ΅ Π² ΠΏΠ°Ρ ΠΈΠΌΡ / Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
- ΠΠ°Π½Π½ΡΠ΅ ΡΠ°Π·Π΄Π΅Π»Π΅Π½Ρ Π·Π°ΠΏΡΡΡΠΌΠΈ
- Π€ΠΈΠ³ΡΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ Π΄Π΅ΡΠΆΠ°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ
- ΠΠ²Π°Π΄ΡΠ°ΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ Π΄Π΅ΡΠΆΠ°ΡΡ ΠΌΠ°ΡΡΠΈΠ²Ρ
JSON Π΄Π°Π½Π½ΡΠ΅ — ΠΈΠΌΡ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
ΠΠ°Π½Π½ΡΠ΅ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ JSON Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΏΠ°Ρ ΠΈΠΌΡ / Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΠ°ΡΠ° ΠΈΠΌΡ / Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»Ρ (Π² Π΄Π²ΠΎΠΉΠ½ΡΡ ΠΊΠ°Π²ΡΡΠΊΠ°Ρ ), Π·Π° ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π΄Π²ΠΎΠ΅ΡΠΎΡΠΈΠ΅, Π·Π° ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅:
ΠΏΡΠΈΠΌΠ΅Ρ
«firstName»:»John»
ΠΠΌΠ΅Π½Π° JSON ΡΡΠ΅Π±ΡΡΡ Π΄Π²ΠΎΠΉΠ½ΡΠ΅ ΠΊΠ°Π²ΡΡΠΊΠΈ. ΠΠΌΠ΅Π½Π° JavaScript Π½Π΅Ρ.
ΠΠ½Π°ΡΠ΅Π½ΠΈΡ JSON
ΠΠ½Π°ΡΠ΅Π½ΠΈΡ JSON ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ:
- Π ΡΠ΄ (ΡΠ΅Π»ΠΎΠ΅ ΠΈΠ»ΠΈ Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠΎΠΉ)
- Π‘ΡΡΠΎΠΊΠ° (Π² Π΄Π²ΠΎΠΉΠ½ΡΡ ΠΊΠ°Π²ΡΡΠΊΠ°Ρ )
- ΠΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ (ΠΈΡΡΠΈΠ½Π° ΠΈΠ»ΠΈ Π»ΠΎΠΆΡ)
- ΠΠ°ΡΡΠΈΠ² (Π² ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ )
- ΠΠ±ΡΠ΅ΠΊΡ (Π² ΡΠΈΠ³ΡΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ )
- Π½ΠΎΠ»Ρ
ΠΠ±ΡΠ΅ΠΊΡΡ JSON
ΠΠ±ΡΠ΅ΠΊΡΡ JSON Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π² ΡΠΈΠ³ΡΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ.
Π’Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ JavaScript, ΠΎΠ±ΡΠ΅ΠΊΡΡ JSON ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠΌΡ / Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΠ°Ρ:
ΠΏΡΠΈΠΌΠ΅Ρ
{«firstName»:»John», «lastName»:»Doe»}
ΠΠ°ΡΡΠΈΠ²Ρ JSON
JSON ΠΌΠ°ΡΡΠΈΠ²Ρ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π² ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ .
Π’Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ JavaScript, ΠΌΠ°ΡΡΠΈΠ² JSON ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²:
ΠΏΡΠΈΠΌΠ΅Ρ
«employees»:[
Β Β Β
{«firstName»:»John», «lastName»:»Doe»},
Β Β Β
{«firstName»:»Anna», «lastName»:»Smith»},
Β Β Β
{«firstName»:»Peter»,»lastName»:»Jones»}
]
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡ «employees» ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΌΠ°ΡΡΠΈΠ² , ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΡΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π·Π°ΠΏΠΈΡΡ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ° (Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΈ ΡΠ°ΠΌΠΈΠ»ΠΈΠ΅ΠΉ).
JSON ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ JavaScript Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ JSON ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΌ ΠΎΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° JavaScript Π½ΠΎΡΠ°ΡΠΈΠΈ, ΠΎΡΠ΅Π½Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ JSON Π² JavaScript.
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ JavaScript Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ Π½Π°Π·Π½Π°ΡΠΈΡΡ Π½Π° Π½Π΅Π³ΠΎ Π΄Π°Π½Π½ΡΠ΅, ΠΊΠ°ΠΊ ΡΡΠΎ:
ΠΏΡΠΈΠΌΠ΅Ρ
var employees =
[
Β Β Β
{«firstName»:»John», «lastName»:»Doe»},
Β Β Β
{«firstName»:»Anna», «lastName»:»Smith»},
Β Β Β
{«firstName»:»Peter»,»lastName»: «Jones»}
];
ΠΠ΅ΡΠ²Π°Ρ Π·Π°ΠΏΠΈΡΡ Π² ΠΌΠ°ΡΡΠΈΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² JavaScript ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΠ°Π½Π½ΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΠ½Π° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π³Π»Π°Π²Π΅ Π²Ρ ΡΠ·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΡΠ΅ΠΊΡΡ JSON Π² ΠΎΠ±ΡΠ΅ΠΊΡ JavaScript.
ΡΠ°ΠΉΠ»Ρ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ JSON
- Π’ΠΈΠΏ ΡΠ°ΠΉΠ»Π° Π΄Π»Ρ JSON ΡΠ°ΠΉΠ»ΠΎΠ² «.json»
- Π’ΠΈΠΏ MIME Π΄Π»Ρ JSON ΡΠ΅ΠΊΡΡΠ° «application/json»
Π‘ΡΠ΅Π΄ΡΡΠ²Π° ΡΠ°Π±ΠΎΡΡ Ρ JSON | 1Π‘:ΠΠ°Π·Π΅ΡΠΊΠ°Π»ΡΠ΅
07.10.2014
Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π² Π²Π΅ΡΡΠΈΠΈ 8.3.6.1977.
JSON (JavaScript Object Notation) ΡΡΠΎ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠΎΡΠΌΠ°Ρ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½ΡΠΌΠΈ, ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π² Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ
. ΠΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ XML ΠΎΠ½ ΡΠ²Π»ΡΠ΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ Π»Π°ΠΊΠΎΠ½ΠΈΡΠ½ΡΠΌ ΠΈ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΌΠ΅Π½ΡΡΠ΅ ΠΌΠ΅ΡΡΠ°. ΠΡΠΎΠΌΠ΅ ΡΡΠΎΠ³ΠΎ Π²ΡΠ΅ Π±ΡΠ°ΡΠ·Π΅ΡΡ ΠΈΠΌΠ΅ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ JSON.
ΠΠ΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ Ρ ΡΡΠΈΠΌ ΡΠΎΡΠΌΠ°ΡΠΎΠΌ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΎΠ±ΡΡΠ»ΠΎΠ²Π»Π΅Π½Π° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΌ, ΡΡΠΎ ΡΡΠΎ Β«ΠΌΠΎΠ΄Π½ΡΠΉ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉΒ» ΡΠΎΡΠΌΠ°Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ ΡΠ°ΠΌΠΈ ΠΏΠΎ ΡΠ΅Π±Π΅ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΡΠΎ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ. ΠΡΡΠ³Π°Ρ ΠΏΡΠΈΡΠΈΠ½Π° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π΅ΡΡ ΠΈ Π² ΡΠΎΠΌ, ΡΡΠΎ JSON Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² HTTP ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°Ρ
. Π Π² 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠΈ ΠΊΠ°ΠΊ ΡΠ°Π· Π΅ΡΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΡ, Π² ΠΊΠΎΡΠΎΡΡΡ
Ρ
ΠΎΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΡΠΎΡΠΌΠ°Ρ. ΠΡΠΎ REST ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌΡΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΠΉ, ΠΈ HTTP-ΡΠ΅ΡΠ²ΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ.
ΠΡ Π²ΠΈΠ΄ΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ
ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ JSON.
ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ
, ΡΡΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ ΡΠ΅ΡΠ΅Π· ΠΈΡ
HTTP ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ: Google Calendar, Salesforce.com, REST ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ, SharePoint ΠΈ Ρ.Π΄.
ΠΠΎ-Π²ΡΠΎΡΡΡ
, ΡΡΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ HTTP ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ.
Π-ΡΡΠ΅ΡΡΠΈΡ
, ΠΎΠ±ΠΌΠ΅Π½ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ JSON Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ. Π€ΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ
, Π½Π°ΡΡΡΠΎΠ΅ΡΠ½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ². ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΡ
Π² ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°Ρ
ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½ΡΠΌΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ-ΠΌΠ°Π³Π°Π·ΠΈΠ½Π°ΠΌΠΈ.
Π-ΡΠ΅ΡΠ²Π΅ΡΡΡΡ
, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² JSON Π΄Π»Ρ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½ΡΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ.
Π ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ ΠΌΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»ΠΎΡΠ² ΡΠ°Π±ΠΎΡΡ Ρ JSON. Π‘Π°ΠΌΡΠ΅ ΠΏΡΠΎΡΡΡΠ΅ ΠΈ Π³ΠΈΠ±ΠΊΠΈΠ΅ — ΡΡΠΎ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΏΠΎΡΠΎΠΊΠΎΠ²ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ ΠΈ ΡΡΠ΅Π½ΠΈΡ. ΠΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠ΅ ΠΈ Π½Π΅ ΡΠ°ΠΊΠΈΠ΅ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠ΅ — ΡΡΠ΅Π΄ΡΡΠ²Π° ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π² JSON ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΡ
ΡΠΈΠΏΠΎΠ² ΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ.
ΠΠΎΡΠΎΠΊΠΎΠ²ΠΎΠ΅ ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ Π·Π°ΠΏΠΈΡΡ JSON
ΠΠ±ΡΠ΅ΠΊΡΡ ΠΏΠΎΡΠΎΠΊΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ — ΡΡΠΎ ΠΎΠ±ΡΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π§ΡΠ΅Π½ΠΈΠ΅JSON ΠΈ ΠΠ°ΠΏΠΈΡΡJSON. ΠΠ½ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠΈΡΠ°ΡΡ JSON ΠΈΠ· ΡΠ°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΡΡΡΠΎΠΊΠΈ, ΠΈΠ»ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ JSON Π² ΡΠ°ΠΉΠ» ΠΈΠ»ΠΈ ΡΡΡΠΎΠΊΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ Π·Π°ΠΏΠΈΡΡ JSON ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΡΡ Π±Π΅Π· ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ΅Π³ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° Π² ΠΏΠ°ΠΌΡΡΠΈ.
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠ»Π»ΡΡΡΡΠ°ΡΠΈΠΈ ΠΏΠΎΡΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ ΡΡΠ΅Π½ΠΈΡ JSON ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΡΠΈ Π·Π°ΠΏΠΈΡΠΈ JSON Π²Ρ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΡΠΌΠΈΡΡΠ΅ΡΠ΅ Π΅Π³ΠΎ ΡΡΡΡΠΊΡΡΡΡ. Π§ΡΠΎΠ±Ρ Β«ΠΏΠΎΠ΄ΡΡΡΠ°Ρ
ΠΎΠ²Π°ΡΡΒ» Π²Π°Ρ ΠΎΡ ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΎΠ±ΡΠ΅ΠΊΡ ΠΠ°ΠΏΠΈΡΡJSON Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΡΡΡ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌΠΎΠΉ ΡΡΡΡΠΊΡΡΡΡ. ΠΠ»Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΡΠΊΠΎΡΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ. Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π½ΠΈΠΆΠ΅ ΡΡΠΎ ΡΡΡΠΎΠΊΠ°:
Π’Π°ΠΊΠΆΠ΅ ΠΏΡΠΈ Π·Π°ΠΏΠΈΡΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΏΡΠ°Π²Π»ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΡΠΎΡΠΌΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄Π²ΠΎΠΉΠ½ΡΡ
ΠΊΠ°Π²ΡΡΠ΅ΠΊ, ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΎΠΌ ΡΡΡΠΎΠΊ, ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ ΠΎΡΡΡΡΠΏΠ° ΠΈ ΡΠΊΡΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π½ΠΈΠΆΠ΅ Π΄Π»Ρ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ» ΡΠ°Π±ΡΠ»ΡΡΠΈΠΈ:
ΠΠΎΡΠΎΠΊΠΎΠ²Π°Ρ Π·Π°ΠΏΠΈΡΡ JSON ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. ΠΠ°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ· ΡΠ΅ΡΡΡΡΡ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². Π’ΡΠΈ ΠΈΠ· Π½ΠΈΡ
ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, Π° ΡΠ΅ΡΠ²ΡΡΡΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ — ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡ Ρ Π΄Π²ΡΠΌΡ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ:
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°ΠΊΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ:
{ "Π‘Π²ΠΎΠΉΡΡΠ²ΠΎΠ’ΠΈΠΏΠ°ΠΠ°ΡΡΠΈΠ²": [ "ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΡΠΎΠΊΠ°", 1.2345E1, true, { "Π‘Π²ΠΎΠΉΡΡΠ²ΠΎΠ’ΠΈΠΏΠ°Π‘ΡΡΠΎΠΊΠ°": "ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΡΠΎΠΊΠ°", "Π‘Π²ΠΎΠΉΡΡΠ²ΠΎΠ’ΠΈΠΏΠ°ΠΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ": null } ] }
Π‘Π΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΡ ΡΠΈΠΏΠΎΠ² ΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ Π² JSON
ΠΡΠΎΡΠ°Ρ Π³ΡΡΠΏΠΏΠ° ΡΡΠ΅Π΄ΡΡΠ² ΡΠ°Π±ΠΎΡΡ Ρ JSON Ρ
ΠΎΡΠΎΡΠ° ΡΠ΅ΠΌ, ΡΡΠΎ ΠΈΠ·Π±Π°Π²Π»ΡΠ΅Ρ Π²Π°Ρ ΠΎΡ ΡΡΡΠΈΠ½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎ ΡΡΠ΅Π½ΠΈΡ/Π·Π°ΠΏΠΈΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°. ΠΡΠΈ ΡΡΠ΅Π½ΠΈΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ JSON ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π² ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π°Π±ΠΎΡ ΡΠΈΠΏΠΎΠ² ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ: Π‘ΡΡΠΎΠΊΠ°, Π§ΠΈΡΠ»ΠΎ, ΠΡΠ»Π΅Π²ΠΎ, ΠΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ, ΠΠ°ΡΡΠΈΠ², Π€ΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉΠΠ°ΡΡΠΈΠ², Π‘ΡΡΡΠΊΡΡΡΠ°, Π€ΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½Π°ΡΠ‘ΡΡΡΠΊΡΡΡΠ°, Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅, ΠΠ°ΡΠ°. Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Π² ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΡΡΠΎΡΠΎΠ½Ρ, ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΡΡΠΈΡ
ΡΠΈΠΏΠΎΠ² ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ ΠΈ Π±ΡΡΡΡΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π² ΡΠ°ΠΉΠ» ΡΡΡΡΠΊΡΡΡΡ JSON. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ Π·Π°ΠΏΠΈΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΌΠ° JSON Π·Π°ΡΠ°Π½Π΅Π΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠΉ ΡΡΡΡΠΊΡΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ ΡΡΡΠΎΡΠΊΠ°ΠΌΠΈ ΠΊΠΎΠ΄Π°.
ΠΡΠ½ΠΎΠ²Π½ΠΎΠ΅ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΈΡ
ΡΡΠ΅Π΄ΡΡΠ² ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ Π² ΠΎΠ±ΠΌΠ΅Π½Π΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ, ΡΡΠ΅Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΡΠΎΡΠΌΠ°ΡΠ΅ JSON.
Π‘Π΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° ΠΡΠΎΡΠΈΡΠ°ΡΡJSON() ΠΈ ΠΠ°ΠΏΠΈΡΠ°ΡΡJSON(). ΠΠ½ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΡΠ²ΡΠ·ΠΊΠ΅ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ Π§ΡΠ΅Π½ΠΈΠ΅JSON ΠΈ ΠΠ°ΠΏΠΈΡΡJSON.
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π΄Π΅ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ JSON ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈΠ· Π΄Π²ΡΡ
ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²:
[ { "ΠΈΠΌΡ": "Anton", "ΡΠ°ΠΌΠΈΠ»ΠΈΡ": "ΠΠ²Π°Π½ΠΎΠ²", "Π²ΠΎΠ·ΡΠ°ΡΡ": 25 }, { "ΠΈΠΌΡ": "ΠΡΠΈΠ½Π°", "ΡΠ°ΠΌΠΈΠ»ΠΈΡ": "ΠΠ²Π°Π½ΠΎΠ²Π°", "Π²ΠΎΠ·ΡΠ°ΡΡ": 20 } ]
ΠΠΎΠ΄ 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠΉ Π΄Π΅ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ, ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Π ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ (Π·Π°ΠΏΠΈΡΠΈ) Π² JSON ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ:
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π·Π°ΠΏΠΈΡΠΈ:
{ "Π€Π°ΠΌΠΈΠ»ΠΈΡ": "ΠΠ²Π°Π½ΠΎΠ²", "ΠΠΌΡ": "ΠΠ²Π°Π½", "ΠΡΡΠ΅ΡΡΠ²ΠΎ": "ΠΠ²Π°Π½ΠΎΠ²ΠΈΡ", "ΠΠΎΠ·ΡΠ°ΡΡ": 40, "ΠΠ΅Π½Π°Ρ": true, "Π’Π΅Π»Π΅ΡΠΎΠ½Ρ": [ "8-999-999-99-90", "8-999-999-99-91" ] }
Π€ΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΡΠΈ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ
ΠΠ΅ Π²ΡΠ΅Π³Π΄Π° ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ. Π ΠΆΠΈΠ·Π½ΠΈ Π²ΡΡΡΠ΅ΡΠ°ΡΡΡΡ ΡΠ°ΠΌΡΠ΅ ΡΠ°Π·Π½ΡΠ΅ ΡΠΈΡΡΠ°ΡΠΈΠΈ. ΠΠΎΡΡΠΎΠΌΡ ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Β«ΡΠ°ΠΌΠΎΠΏΠΈΡΠ½ΡΡΒ» ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΡΠΈ Π·Π°ΠΏΠΈΡΠΈ Π² JSON ΠΈ ΠΏΡΠΈ ΡΡΠ΅Π½ΠΈΠΈ ΠΈΠ· JSON.
Π ΠΌΠ΅ΡΠΎΠ΄Π΅ ΠΠ°ΠΏΠΈΡΠ°ΡΡJSON() ΠΎΠ½Π° Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π€ΡΠ½ΠΊΡΠΈΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΡΡ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²:
- ΠΠΌΡΠ€ΡΠ½ΠΊΡΠΈΠΈΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ;
- ΠΠΎΠ΄ΡΠ»ΡΠ€ΡΠ½ΠΊΡΠΈΠΈΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ;
- ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡΠ€ΡΠ½ΠΊΡΠΈΠΈΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ.
Π ΠΌΠ΅ΡΠΎΠ΄Π΅ ΠΡΠΎΡΠΈΡΠ°ΡΡJSON() ΠΎΠ½Π° Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π€ΡΠ½ΠΊΡΠΈΡ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΈ Π΄Π»Ρ Π½Π΅Ρ Π΅ΡΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
- ΠΠΌΡΠ€ΡΠ½ΠΊΡΠΈΠΈΠΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ;
- ΠΠΎΠ΄ΡΠ»ΡΠ€ΡΠ½ΠΊΡΠΈΠΈΠΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ;
- ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡΠ€ΡΠ½ΠΊΡΠΈΠΈΠΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ.
ΠΡΠΈ Π·Π°ΠΏΠΈΡΠΈ Π² JSON ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠ»Π΅Π·Π½Π° ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π² JSON ΡΠ΅ ΡΠΈΠΏΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ. ΠΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΠΎΡΠΊΠ°Π·Π°ΡΡΡΡ ΠΎΡ ΠΈΡ
ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΠΊ ΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ, ΡΡΠΎ Π² Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌΠΎΠΉ ΡΡΡΡΠΊΡΡΡΠ΅ ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ — ΡΡΠΎ ΡΡΡΠ»ΠΊΠ° Π½Π° ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ° ΠΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡΠΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΉ. Π’Π°ΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ (ΡΡΡΠ»ΠΊΠ° Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ) Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ. Π’ΠΎΠ³Π΄Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΅Π³ΠΎ ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π² ΡΠ΄ΠΎΠ±Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Π²ΠΈΠ΄Π΅ ΡΡΡΠΎΠΊΠΈ Β«ΠΠ ΠΠ΅ΡΡΠΎΠ²: ΠΡΠ΄Π΅Π» ΡΠ΅ΠΊΠ»Π°ΠΌΡΒ».
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°:
{ "Π€Π°ΠΌΠΈΠ»ΠΈΡ": "ΠΠ²Π°Π½ΠΎΠ²", "ΠΠΌΡ": "ΠΠ²Π°Π½", "ΠΡΡΠ΅ΡΡΠ²ΠΎ": "ΠΠ²Π°Π½ΠΎΠ²ΠΈΡ", "ΠΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅": "ΠΠ ΠΠ΅ΡΡΠΎΠ²: ΠΡΠ΄Π΅Π» ΡΠ΅ΠΊΠ»Π°ΠΌΡ", "Π’Π΅Π»Π΅ΡΠΎΠ½Ρ": [ "8-999-999-99-90", "8-999-999-99-91" ] }
ΠΡΠΈ ΡΡΠ΅Π½ΠΈΠΈ ΠΈΠ· JSON ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ JSON Π² ΡΠΈΠΏΡ 1Π‘, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΌΠΎΠ³ΡΡ ΡΠ²Π»ΡΡΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ, ΠΈΠ»ΠΈ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ (Π½Π΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ) ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π΄Π°ΡΡ JSON Π² Π΄Π°ΡΡ 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ.
Π‘Π΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΈΠΏΠ° ΠΠ°ΡΠ°
ΠΠ°Π½Π½ΡΠ΅ ΡΠΈΠΏΠ° ΠΠ°ΡΠ° ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΡΡΡΡΡ Π² JSON Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ, Π° Π²ΠΎΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ (Π΄Π΅ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ) ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ Π½Π΅ Π²ΡΠ΅Π³Π΄Π°. JSON Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΈΠΏΠ° ΠΠ°ΡΠ°, Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π°ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΡΡ Π² Π½ΡΠΌ ΡΡΡΠΎΠΊΠΎΠΉ. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΡΡΠ΅ΡΡΠ²ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΡΠΌΠ°ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π°Ρ, Π½ΠΎ Π²ΠΎΠΎΠ±ΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, Π²Π½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΡΠ°ΠΊΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°ΠΌΡΠΌ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·Π½ΡΠΌ.
ΠΠ»Ρ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΈΠΏΠ° ΠΠ°ΡΠ° Π² JSON Ρ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΠ°ΠΏΠΈΡΠ°ΡΡJSON() Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈΠ‘Π΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ. ΠΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΊΠ°Π·Π°ΡΡ, Π² ΠΊΠ°ΠΊΠΎΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠ΅ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΠΈΡΠ°Π½Π° Π΄Π°ΡΠ° (UTC, Π»ΠΎΠΊΠ°Π»ΡΠ½Π°Ρ Π΄Π°ΡΠ° ΠΈΠ»ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½Π°Ρ Π΄Π°ΡΠ° ΡΠΎ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ) ΠΈ Π² ΠΊΠ°ΠΊΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅ (ISO, JavaScript ΠΈΠ»ΠΈ Microsoft).
ΠΠΎΠ΄ 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ:
Π’Π΅ΠΊΡΡ JSON:
[ { "Π€Π°ΠΌΠΈΠ»ΠΈΡ": "ΠΠ²Π°Π½ΠΎΠ²", "ΠΠ°ΡΠ°Π ΠΎΠΆΠ΄Π΅Π½ΠΈΡ": "1987-05-14T00:00:00" }, { "Π€Π°ΠΌΠΈΠ»ΠΈΡ": "ΠΠ΅ΡΡΠΎΠ²", "ΠΠ°ΡΠ°Π ΠΎΠΆΠ΄Π΅Π½ΠΈΡ": "1993-11-21T00:00:00" } ]
ΠΡΠΈ ΡΡΠ΅Π½ΠΈΠΈ Π΄Π°ΡΡ ΠΈΠ· JSON Π²ΡΡ ΠΎΠ±ΡΡΠΎΠΈΡ ΡΠ»ΠΎΠΆΠ½Π΅Π΅. Π ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅ ΠΠΌΠ΅Π½Π°Π‘Π²ΠΎΠΉΡΡΠ²Π‘ΠΎΠΠ½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈΠΠ°ΡΠ° Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΡ ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° JSON, Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΡΡ
Π½ΡΠΆΠ½ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π² Π΄Π°ΡΡ 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ (ΡΠΈΠΏ ΠΠ°ΡΠ°). Π Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅ ΠΠΆΠΈΠ΄Π°Π΅ΠΌΡΠΉΠ€ΠΎΡΠΌΠ°ΡΠΠ°ΡΡ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, Π² ΠΊΠ°ΠΊΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅ ΡΡΠΈ Π΄Π°Π½Π½ΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ Π² JSON (ISO, JavaScript ΠΈΠ»ΠΈ Microsoft).
Π’Π΅ΠΊΡΡ JSON:
[ { "Π€Π°ΠΌΠΈΠ»ΠΈΡ": "ΠΠ²Π°Π½ΠΎΠ²", "ΠΠ°ΡΠ°Π ΠΎΠΆΠ΄Π΅Π½ΠΈΡ": "1987-05-14T00:00:00" }, { "Π€Π°ΠΌΠΈΠ»ΠΈΡ": "ΠΠ΅ΡΡΠΎΠ²", "ΠΠ°ΡΠ°Π ΠΎΠΆΠ΄Π΅Π½ΠΈΡ": "1993-11-21T00:00:00" } ]
ΠΠΎΠ΄ 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ:
ΠΠ΄Π½Π°ΠΊΠΎ Π΅ΡΠ»ΠΈ ΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ, ΡΡΠΎ Π² ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠΎΡΠΌΠ°Ρ Π΄Π°Π½Π½ΡΡ
JSON Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡΠΌ ΡΠΎΡΠΌΠ°ΡΠΎΠΌ, Π±ΡΠ΄Π΅Ρ Π²ΡΠ·Π²Π°Π½ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅.
Π ΡΠ°ΠΊΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ, Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΡΡΠΈ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΊΠ»ΡΡΠΈΡΡ ΡΠ΅ ΠΆΠ΅ ΡΠ°ΠΌΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° JSON Π² ΠΌΠ°ΡΡΠΈΠ², ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°ΡΠΈΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ — ΠΠΌΠ΅Π½Π°Π‘Π²ΠΎΠΉΡΡΠ²ΠΠ»ΡΠΠ±ΡΠ°Π±ΠΎΡΠΊΠΈΠΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ. Π ΡΠΆΠ΅ Π² ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π²Ρ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ Π΄Π΅ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΡΠ΅ΡΠ΅ Π΄Π°ΡΡ JSON, Π² ΠΊΠ°ΠΊΠΎΠΌ Π±Ρ ΡΠΎΡΠΌΠ°ΡΠ΅ ΠΎΠ½ΠΈ Π½ΠΈ Π±ΡΠ»ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ JSON Π² HTTP ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌΡΠΉ REST ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ
ΠΡΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ ΠΊ REST ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΎΡΠ²Π΅Ρ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ JSON. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π² Π°Π΄ΡΠ΅ΡΠ½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ $format=json. ΠΠΈΠ±ΠΎ ΡΠΊΠ°Π·Π°ΡΡ MIME ΡΠΈΠΏ «application/json» Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ Accept HTTP Π·Π°ΠΏΡΠΎΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΠ°ΠΏΡΠΎΡ:
GET /TestInfobase/odata/standard.odata/Π‘ΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠΠ»ΡΠ’Π΅ΡΡΠΎΠ²?$format=json HTTP/1.1 MaxDataServiceVersion: 3.0;NetFx Accept: application/json Accept-Charset: UTF-8 User-Agent: Microsoft ADO.NET Data Services
ΠΡΠ²Π΅Ρ:
HTTP/1.1 200 OK Content-Length: 9429 Content-Type: application/json;charset=utf-8 Server: Microsoft-IIS/7.5 DataServiceVersion: 3.0 X-Powered-By: ASP.NET Date: Mon, 12 Aug 2013 09:44:07 GMT { "odata.metadata":"http://host/svc/$metadata#Π‘ΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠΠ»ΡΠ’Π΅ΡΡΠΎΠ²", "value":[ { "Ref_Key":guid'cc6a7df3-8cfe-11dc-8ca0-000d8843cd1b', "DataVersion":"AAAAAQAAAAE", "DeletionMark":false, "Parent_Key":guid'bbb079ae-8c51-11db-a9b0-00055d49b45e', "IsFolder":false, "Code":000000025, "Description":"ΠΠΈΠ½Π΅ΡΠΊΠΈ", "ΠΠΎΡΡΠ°Π²ΡΠΈΠΊ_Key":guid'd1cb82a7-8e8b-11db-a9b0-00055d49b45e', "ΠΠΎΡΡΠ°Π²ΡΠΈΠΊ@navigationLinkUrl":"Π‘ΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠΠ»ΡΠ’Π΅ΡΡΠΎΠ²(guid'cc6a7df3-8cfe-11dc-8ca0-000d8843cd1b')/ΠΠΎΡΡΠ°Π²ΡΠΈΠΊ", "Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡΠ₯ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅_Type": "image/jpeg", "Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡΠ₯ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅_Base64Data@mediaReadLink": "Catalog_ΠΠ΅ΠΌΠΎΠ‘ΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ(guid'cf2b1a24-1b96-11e3-8f11-5404a6a68c42')/Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡΠ₯ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅_Base64Data", "Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡΠ₯ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅_Base64Data": <ΡΡΡΠΎΠΊΠ° Ρ Π·Π°ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ> β¦ }, {β¦}, {β¦} ] }
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΎΠ±ΡΡΠΌΠΎΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π·Π° ΡΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ
Π² Π²ΡΠ³ΡΡΠ·ΠΊΠ΅. Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΡΠΈ ΡΡΠΎΠ²Π½Ρ: Nometadata, Minimalmetadata ΠΈ Fullmetadata. ΠΠΎ-ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ (Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²Π²Π΅ΡΡ
Ρ) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠ΅Π΄Π½ΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ — Minimalmetadata. ΠΠ° ΡΡΠΎΠ²Π½Π΅ Nometadata ΠΎΠ±ΡΡΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ, Π° Π½Π° ΡΡΠΎΠ²Π½Π΅ Fullmetadata — ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΡΠΌΠ° ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ½ΡΠ΅Π½ΡΠΈΠ²Π½ΡΠΌ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡΠΌ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅. Π Π½Π°ΠΎΠ±ΠΎΡΠΎΡ, ΠΊΠΎΠ³Π΄Π° Π²ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² Π²ΡΠ³ΡΡΠ·ΠΊΡ, ΠΎΠ±ΡΡΠΌ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅ Π±ΡΠ΄Π΅Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ.
ΠΠ΅ΡΠ°Π»ΡΠ½ΠΎΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ
Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Π°Π΄ΡΠ΅ΡΠ½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅.
Π‘Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ
Π½Π΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ:
GET /TestInfobase/odata/standard.odata/Π‘ΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠΠ»ΡΠ’Π΅ΡΡΠΎΠ²/?$format=application/json;odata= minimalmetadata
ΠΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ
Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² Π²ΡΠ³ΡΡΠ·ΠΊΡ:
GET /TestInfobase/odata/standard.odata/Π‘ΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠΠ»ΡΠ’Π΅ΡΡΠΎΠ²/?$format=application/json;odata=fullmetadata
HTTP-ΡΠ΅ΡΠ²ΠΈΡΡ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ
HTTP-ΡΠ΅ΡΠ²ΠΈΡΡ, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ Π² ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠΈ, ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΎΡΠ²Π΅Ρ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ JSON. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π²Π°ΠΌ ΠΏΡΠΎΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅Π»ΠΎ ΠΎΡΠ²Π΅ΡΠ° Π² JSON, ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΅Π³ΠΎ ΠΊΠ°ΠΊ ΡΡΡΠΎΠΊΡ, Π° Π·Π°ΡΠ΅ΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈΠ· ΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΡΠ΅Π»ΠΎ HTTP ΠΎΡΠ²Π΅ΡΠ° ΡΠ΅ΡΠ²ΠΈΡΠ°. ΠΡΠΈ ΡΡΠΎΠΌ ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ BOM (Byte Order Mark, ΠΌΠ΅ΡΠΊΠ° ΠΏΠΎΡΡΠ΄ΠΊΠ° Π±Π°ΠΉΡΠΎΠ²) ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π°.
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ (ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ByteOrderMark.ΠΠ΅ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ) Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ, Π΅ΡΠ»ΠΈ ΡΠ΅ΠΆΠΈΠΌ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π½Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½, ΠΈΠ»ΠΈ ΠΎΠ½ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ΅ΠΌ ΠΠ΅ΡΡΠΈΡ8_3_5. ΠΠΎΡΠΎΠΌΡ ΡΡΠΎ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ BOM Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΎΠΊ UTF-16 ΠΈ UTF-32, Π° Π΄Π»Ρ UTF-8, UTF-16LE/UTF-16BE, UTF-32LE/UTF-32BE ΠΈ Π΄ΡΡΠ³ΠΈΡ
ΠΎΠ½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π½Π΅ Π±ΡΠ΄Π΅Ρ.
ΠΠ·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΡΠΎ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΌΠΈ HTTP ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ
ΠΡΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠΈ ΡΠΎ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΌΠΈ HTTP ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°ΠΌΠΈ Ρ Π²Π°Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΊ Π½ΠΈΠΌ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ JSON. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π²Π°ΡΠΈΡ
Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Π±ΡΠ΄Π΅Ρ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌ. Π€ΠΎΡΠΌΠΈΡΡΠ΅ΡΠ΅ ΡΠ΅Π»ΠΎ Π·Π°ΠΏΡΠΎΡΠ° Π² JSON. ΠΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ ΡΠ΅Π»ΠΎ Π² Π²ΠΈΠ΄Π΅ ΡΡΡΠΎΠΊΠΈ. ΠΠ· ΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΠ΅ ΡΠ΅Π»ΠΎ HTTP Π·Π°ΠΏΡΠΎΡΠ°. BOM Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅.
ΠΠ°Π»ΡΠ½Π΅ΠΉΡΠ΅Π΅ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅
ΠΡ Π΄ΡΠΌΠ°Π΅ΠΌ Π½Π°Π΄ ΡΠ΅ΠΌ, ΡΡΠΎΠ±Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ Π²Π°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π² JSON ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΡΡ
ΡΠΈΠΏΠΎΠ² 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ: ΡΡΡΠ»ΠΎΠΊ, ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², Π½Π°Π±ΠΎΡΠΎΠ² Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΠΈ Ρ.Π΄. ΠΠΎΡΡΠΎΠΌΡ Π΅ΡΡΡ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ Π΅ΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ, ΡΡΠ΅ΡΡΠ΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ ΡΡΠ΅Π΄ΡΡΠ² ΡΠ°Π±ΠΎΡΡ Ρ JSON. ΠΡΠΎΡ ΡΡΠΎΠ²Π΅Π½Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π²Π°ΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²ΡΠ²Π°ΡΡ Π² JSON Π»ΡΠ±ΡΠ΅ ΡΠΈΠΏΡ 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ
ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ XDTO-ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π² XML.
Π’Π΅Π³ΠΈ:
JSONΒ
Π Π°ΡΡΠΊΠ°Π·Π°ΡΡ Π΄ΡΡΠ·ΡΡΠΌ:
Π€ΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ JSON | Yandex.Cloud
JSON — ΡΠ»Π°Π±ΠΎ ΡΡ
Π΅ΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ Π΄Π°Π½Π½ΡΡ
, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ Π² YQL ΡΠΈΠΏΠΎΠΌ Json
. Π ΠΎΡΠ»ΠΈΡΠΈΠΈ ΠΎΡ ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΡΡ
ΡΠ°Π±Π»ΠΈΡ, JSON ΠΌΠΎΠΆΠ΅Ρ Ρ
ΡΠ°Π½ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ
ΡΡ
Π΅ΠΌΠ° Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π°. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ Π²Π°Π»ΠΈΠ΄Π½ΠΎΠ³ΠΎ JSON:
[
{
"name": "Jim Holden",
"age": 30
},
{
"name": "Naomi Nagata",
"age": "twenty years old"
}
]
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ΅ ΠΏΠΎΠ»Π΅ age
ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΏ Number
("age": 21
), Π° Π²ΠΎ Π²ΡΠΎΡΠΎΠΌ String
("age": "twenty years old"
), ΡΡΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π²Π°Π»ΠΈΠ΄Π½ΡΠΉ JSON.
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ JSON, YQL ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ° SQL support for JavaScript Object Notation (JSON), ΡΠ²Π»ΡΡΡΠ΅Π³ΠΎΡΡ ΡΠ°ΡΡΡΡ ΠΎΠ±ΡΠ΅ΠΏΡΠΈΠ½ΡΡΠΎΠ³ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ° ANSI SQL.
JsonPath
ΠΠ»Ρ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ Π²Π½ΡΡΡΠΈ JSON ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ·ΡΠΊ Π·Π°ΠΏΡΠΎΡΠΎΠ² JsonPath. ΠΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ JSON ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ JsonPath Π·Π°ΠΏΡΠΎΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°.
Π‘ΡΠ°Π·Ρ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅Ρ. ΠΡΡΡΡ Ρ Π½Π°Ρ Π΅ΡΡΡ JSON:
{
"comments": [
{
"id": 123,
"text": "A whisper will do, if it's all that you can manage."
},
{
"id": 456,
"text": "My life has become a single, ongoing revelation that I havenβt been cynical enough."
}
]
}
Π’ΠΎΠ³Π΄Π° ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅ΠΊΡΡ Π²ΡΠΎΡΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ JsonPath Π·Π°ΠΏΡΠΎΡ:
Π ΡΡΠΎΠΌ Π·Π°ΠΏΡΠΎΡΠ΅:
$
— ΡΡΠΎ ΡΠΏΠΎΡΠΎΠ± ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊΠΎ Π²ΡΠ΅ΠΌΡ JSON$.comments
— ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΠΊΠ»ΡΡΡcomments
ΠΎΠ±ΡΠ΅ΠΊΡΠ° JSON$.comments[1]
— ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎ Π²ΡΠΎΡΠΎΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° JSON (Π½ΡΠΌΠ΅ΡΠ°ΡΠΈΡ Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ 0)$.comments[1].text
— ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΠΊΠ»ΡΡΡtext
ΠΎΠ±ΡΠ΅ΠΊΡΠ° JSON- Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ:
"My life has become a single, ongoing revelation that I havenβt been cynical enough."
Quick reference
ΠΠΏΠ΅ΡΠ°ΡΠΈΡ | ΠΡΠΈΠΌΠ΅Ρ |
---|---|
ΠΠ·Π²Π»Π΅ΡΡ ΠΊΠ»ΡΡ JSON ΠΎΠ±ΡΠ΅ΠΊΡΠ° | $.key |
ΠΠ·Π²Π»Π΅ΡΡ Π²ΡΠ΅ ΠΊΠ»ΡΡΠΈ JSON ΠΎΠ±ΡΠ΅ΠΊΡΠ° | $.* |
ΠΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° | $[25] |
ΠΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΎΡΡΠ΅Π·ΠΊΠ° ΠΌΠ°ΡΡΠΈΠ²Π° | $[2 to 5] |
ΠΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° | $[last] |
ΠΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎ Π²ΡΠ΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΠΌΠ°ΡΡΠΈΠ²Π° | $[*] |
Π£Π½Π°ΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ | - 1 |
ΠΠΈΠ½Π°ΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ | (12 * 3) % 4 + 8 |
ΠΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ | $variable |
ΠΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ | (1 > 2) || (3 <= 4) && ("string" == "another") |
Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠΌΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ | $.name like_regex "^[A-Za-z]+$" |
ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΡΠ΅ΡΠΈΠΊΡΠ° ΡΡΡΠΎΠΊΠΈ | $.name starts with "Bobbie" |
ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΡΠΈ | exists ($.profile.name) |
ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π±ΡΠ»Π΅Π²ΡΠΊΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½Π° null | ($.age > 20) is unknown |
Π€ΠΈΠ»ΡΡΡΠ°ΡΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ | $.friends ? (@.age >= 18 && @.gender == "male") |
ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΡ | $.name.type() |
ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΌΠ°ΡΡΠΈΠ²Π° | $.friends.size() |
ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ Π² ΡΠΈΡΠ»ΠΎ | $.number.double() |
ΠΠΊΡΡΠ³Π»Π΅Π½ΠΈΠ΅ ΡΠΈΡΠ»Π° Π²Π²Π΅ΡΡ | $.number.ceiling() |
ΠΠΊΡΡΠ³Π»Π΅Π½ΠΈΠ΅ ΡΠΈΡΠ»Π° Π²Π½ΠΈΠ· | $.number.floor() |
ΠΠ±ΡΠΎΠ»ΡΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΡΠ»Π° | $.number.abs() |
ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°Ρ ΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠ· ΠΎΠ±ΡΠ΅ΠΊΡΠ° | $.profile.keyvalue() |
ΠΠΎΠ΄Π΅Π»Ρ Π΄Π°Π½Π½ΡΡ
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ JsonPath Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ — ΡΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ JSON Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
- Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ
"Bobbie"
— ΡΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π΄Π»ΠΈΠ½Ρ 1 Ρ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ"Bobbie"
. - Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ
$
(Π²Π·ΡΡΠΈΠ΅ Π²ΡΠ΅Π³ΠΎ JSON ΠΎΠ±ΡΠ΅ΠΊΡΠ°) Π½Π° JSON[1, 2, 3]
— ΡΡΠΎ[1, 2, 3]
. ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈΠ· 1 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, ΠΌΠ°ΡΡΠΈΠ²Π°[1, 2, 3]
- Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ
$[*]
(ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π°) Π½Π° JSON[1, 2, 3]
— ΡΡΠΎ1, 2, 3
. ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈΠ· ΡΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²1
,2
ΠΈ3
ΠΡΠ»ΠΈ Π²Ρ ΠΎΠ΄Π½Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»Π½ΡΡΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΊΠ»ΡΡΡ JSON ΠΎΠ±ΡΠ΅ΠΊΡΠ°). ΠΡΠΈ ΡΡΠΎΠΌ Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΡΠ΅Π±ΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π½Π° Π²Ρ ΠΎΠ΄ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π±ΠΈΠ½Π°ΡΠ½ΡΠ΅ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ).
ΠΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΡΠ΅ΠΊΡΠΈΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ.
Π Π΅ΠΆΠΈΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
JsonPath ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π΄Π²Π° ΡΠ΅ΠΆΠΈΠΌΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ — lax
ΠΈ strict
. Π£ΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΡΠ΅ΠΆΠΈΠΌΠ° Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ lax
. Π Π΅ΠΆΠΈΠΌ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π² Π½Π°ΡΠ°Π»Π΅ Π·Π°ΠΏΡΠΎΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ: strict $.key
.
ΠΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ JsonPath ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ.
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° ΠΌΠ°ΡΡΠΈΠ²Π°
ΠΡΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ ΠΊ ΠΊΠ»ΡΡΡ JSON ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π² lax
ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°ΡΡΡΡ.
ΠΡΠΈΠΌΠ΅Ρ:
[
{
"key": 123
},
{
"key": 456
}
]
ΠΠ°ΠΏΡΠΎΡ lax $.key
ΡΡΠΏΠ΅ΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡΡ Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ 123, 456
. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ $
ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ, ΠΎΠ½ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ°ΡΠΏΠ°ΠΊΡΠ΅ΡΡΡ, ΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΠΊΠ»ΡΡΡ JSON ΠΎΠ±ΡΠ΅ΠΊΡΠ° $.key
Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΌΠ°ΡΡΠΈΠ²Π°.
ΠΡΠΈ ΡΡΠΎΠΌ Π·Π°ΠΏΡΠΎΡ strict $.key
Π·Π°Π²Π΅ΡΡΠΈΡΡΡ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ. Π strict
ΡΠ΅ΠΆΠΈΠΌΠ΅ Π½Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ². $
ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ, Π° Π½Π΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΠΊΠ»ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° $.key
Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ. ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ, Π½Π°ΠΏΠΈΡΠ°Π² strict $[*].key
.
Π Π°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° 1 ΡΡΠΎΠ²Π΅Π½Ρ Π²Π³Π»ΡΠ±Ρ. Π ΡΠ»ΡΡΠ°Π΅ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΌΡΠΉ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΈΠ· Π½ΠΈΡ .
ΠΠ±Π΅ΡΡΠΊΠ° Π² ΠΌΠ°ΡΡΠΈΠ²
ΠΡΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° Π² lax
ΡΠ΅ΠΆΠΈΠΌΠ΅ JSON Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠ±ΠΎΡΠ°ΡΠΈΠ²Π°ΡΡΡΡ Π² ΠΌΠ°ΡΡΠΈΠ².
ΠΡΠΈΠΌΠ΅Ρ:
ΠΠ°ΠΏΡΠΎΡ lax $[0].name
Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡΡ ΡΡΠΏΠ΅ΡΠ½ΠΎ Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ "Avasarala"
. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ $
Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ, ΠΎΠ½ Π±ΡΠ΄Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠ±Π΅ΡΠ½ΡΡ Π² ΠΌΠ°ΡΡΠΈΠ² Π΄Π»ΠΈΠ½Ρ ΠΎΠ΄ΠΈΠ½. ΠΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΠΏΠ΅ΡΠ²ΠΎΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ $[0]
Π²Π΅ΡΠ½Π΅Ρ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ JSON ΠΎΠ±ΡΠ΅ΠΊΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ Π²Π·ΡΡ ΠΊΠ»ΡΡ name
.
ΠΡΠΈ ΡΡΠΎΠΌ Π·Π°ΠΏΡΠΎΡ strict $[0].name
Π·Π°Π²Π΅ΡΡΠΈΡΡΡ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ. Π strict
ΡΠ΅ΠΆΠΈΠΌΠ΅ Π½Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΠ±Π΅ΡΡΠΊΠΈ Π² ΠΌΠ°ΡΡΠΈΠ². $
ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ, Π° Π½Π΅ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ $[0]
Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ. ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ, Π½Π°ΠΏΠΈΡΠ°Π² strict $.name
.
ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΎΡΠΈΠ±ΠΎΠΊ
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΡΡΡΡΡ Π² ΠΏΡΡΡΠΎΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π² lax
ΡΠ΅ΠΆΠΈΠΌΠ΅.
ΠΠΈΡΠ΅ΡΠ°Π»Ρ
ΠΠ½Π°ΡΠ΅Π½ΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠΈΠΏΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π² JsonPath Π·Π°ΠΏΡΠΎΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π»ΠΈΡΠ΅ΡΠ°Π»Ρ:
Π’ΠΈΠΏ | ΠΡΠΈΠΌΠ΅Ρ |
---|---|
Π§ΠΈΡΠ»Π° | 42 , -1.23e-5 |
ΠΡΠ»Π΅Π²ΡΠΊΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ | false , true |
Null | null |
Π‘ΡΡΠΎΠΊΠΈ | "Belt" |
ΠΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΠΊΠ»ΡΡΡ JSON ΠΎΠ±ΡΠ΅ΠΊΡΠ°
JsonPath ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΠΊΠ»ΡΡΠ°ΠΌ JSON ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²: $.session.user.name
.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅
ΠΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ Π±Π΅Π· ΠΊΠ°Π²ΡΡΠ΅ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΊΠ»ΡΡΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ Π±ΡΠΊΠ²Ρ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠ³ΠΎ Π°Π»ΡΠ°Π²ΠΈΡΠ° ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΡ, ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ Π² ΡΠ΅Π±Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π±ΡΠΊΠ²Ρ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠ³ΠΎ Π°Π»ΡΠ°Π²ΠΈΡΠ°, ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΡ, ΡΠΈΡΡΡ ΠΈ Π·Π½Π°ΠΊ Π΄ΠΎΠ»Π»Π°ΡΠ°. ΠΠ»Ρ Π²ΡΠ΅Ρ
ΠΎΡΡΠ°Π»ΡΠ½ΡΡ
ΠΊΠ»ΡΡΠ΅ΠΉ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°Π²ΡΡΠΊΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ: $.profile."this string has spaces"
, $.user."42 is the answer"
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠ· Π²Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ:
- ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ, Π²
lax
ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° ΠΌΠ°ΡΡΠΈΠ²Π° - ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ JSON ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΠΈΠ»ΠΈ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΠΊΠ»ΡΡ Π² ΡΡΠΎΠΌ JSON ΠΎΠ±ΡΠ΅ΠΊΡΠ΅ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ, Π²
strict
ΡΠ΅ΠΆΠΈΠΌΠ΅ Π·Π°ΠΏΡΠΎΡ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ. Πlax
ΡΠ΅ΠΆΠΈΠΌΠ΅ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΏΡΡΡΠΎΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ — ΠΊΠΎΠ½ΠΊΠ°ΡΠ΅Π½Π°ΡΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠ· Π²Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
ΠΡΠΈΠΌΠ΅Ρ:
{
"name": "Amos",
"friends": [
{
"name": "Jim"
},
{
"name": "Alex"
}
]
}
lax | strict | |
---|---|---|
$.name | "Amos" | "Amos" |
$.surname | ΠΡΡΡΠΎΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ | ΠΡΠΈΠ±ΠΊΠ° |
$.friends.name | "Jim", "Alex" | ΠΡΠΈΠ±ΠΊΠ° |
ΠΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎ Π²ΡΠ΅ΠΌ ΠΊΠ»ΡΡΠ°ΠΌ JSON ΠΎΠ±ΡΠ΅ΠΊΡΠ°
JsonPath ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎ Π²ΡΠ΅ΠΌ ΠΊΠ»ΡΡΠ°ΠΌ JSON ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΡΡΠ°Π·Ρ: $.*
.
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠ· Π²Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ:
- ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ, Π²
lax
ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° ΠΌΠ°ΡΡΠΈΠ²Π° - ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ JSON ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ, Π²
strict
ΡΠ΅ΠΆΠΈΠΌΠ΅ Π·Π°ΠΏΡΠΎΡ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ. Πlax
ΡΠ΅ΠΆΠΈΠΌΠ΅ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΏΡΡΡΠΎΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ — ΠΊΠΎΠ½ΠΊΠ°ΡΠ΅Π½Π°ΡΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠ· Π²Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
ΠΡΠΈΠΌΠ΅Ρ:
{
"profile": {
"id": 123,
"name": "Amos"
},
"friends": [
{
"name": "Jim"
},
{
"name": "Alex"
}
]
}
lax | strict | |
---|---|---|
$.profile.* | 123, "Amos" | 123, "Amos" |
$.friends.* | "Jim", "Alex" | ΠΡΠΈΠ±ΠΊΠ° |
ΠΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°
JsonPath ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ²: $.friends[1, 3 to last - 1]
.
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠ· Π²Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ:
- ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ, ΡΠΎ Π²
strict
ΡΠ΅ΠΆΠΈΠΌΠ΅ Π·Π°ΠΏΡΠΎΡ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ. Πlax
ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΠ±Π΅ΡΡΠΊΠ° Π² ΠΌΠ°ΡΡΠΈΠ² - ΠΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ
last
Π·Π°ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΌΠ°ΡΡΠΈΠ²Π°. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅last
Π²Π½Π΅ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΠΌΠ°ΡΡΠΈΠ²Ρ — ΡΡΠΎ ΠΎΡΠΈΠ±ΠΊΠ° Π² ΠΎΠ±ΠΎΠΈΡ ΡΠ΅ΠΆΠΈΠΌΠ°Ρ - ΠΡΡΠΈΡΠ»ΡΡΡΡΡ ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ, ΠΈΠ½Π°ΡΠ΅ Π·Π°ΠΏΡΠΎΡ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ Π² ΠΎΠ±ΠΎΠΈΡ ΡΠ΅ΠΆΠΈΠΌΠ°Ρ
- ΠΡΠ»ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΡΠΎΠ±Π½ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ, ΠΎΠ½ ΠΎΠΊΡΡΠ³Π»ΡΠ΅ΡΡΡ Π²Π½ΠΈΠ·
- ΠΡΠ»ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡ Π²ΡΡ
ΠΎΠ΄ΠΈΡ Π·Π° Π³ΡΠ°Π½ΠΈΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°, ΡΠΎ Π²
strict
ΡΠ΅ΠΆΠΈΠΌΠ΅ Π·Π°ΠΏΡΠΎΡ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ. Πlax
ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠ°ΠΊΠΎΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΡΡΡ - ΠΡΠ»ΠΈ ΡΠΊΠ°Π·Π°Π½ ΠΎΡΡΠ΅Π·ΠΎΠΊ ΠΈ Π΅Π³ΠΎ ΡΡΠ°ΡΡΠΎΠ²ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ
$[20 to 1]
), ΡΠΎ Π²strict
ΡΠ΅ΠΆΠΈΠΌΠ΅ Π·Π°ΠΏΡΠΎΡ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ. Πlax
ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠ°ΠΊΠΎΠΉ ΠΎΡΡΠ΅Π·ΠΎΠΊ ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΡΡΡ. - Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΏΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΠΌ. ΠΡΡΠ΅Π·ΠΊΠΈ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π² ΡΠ΅Π±Ρ ΠΎΠ±Π° ΠΊΠΎΠ½ΡΠ°
ΠΡΠΈΠΌΠ΅ΡΡ:
[
{
"name": "Camina",
"surname": "Drummer"
},
{
"name": "Josephus",
"surname": "Miller"
},
{
"name": "Bobbie",
"surname": "Draper"
},
{
"name": "Julie",
"surname": "Mao"
}
]
lax | strict | |
---|---|---|
$[0].name | "Camina" | "Camina" |
$[1, 2 to 3].name | "Josephus", "Bobbie", "Julie" | "Josephus", "Bobbie", "Julie" |
$[last - 2].name | "Josephus" | "Josephus" |
$[2, last + 200 to 50].name | "Bobbie" | ΠΡΠΈΠ±ΠΊΠ° |
$[50].name | ΠΡΡΡΠΎΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ | ΠΡΠΈΠ±ΠΊΠ° |
ΠΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎ Π²ΡΠ΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΠΌΠ°ΡΡΠΈΠ²Π°
JsonPath ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎ Π²ΡΠ΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΡΠ°Π·Ρ: $[*]
.
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠ· Π²Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ:
- ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ, ΡΠΎ Π²
strict
ΡΠ΅ΠΆΠΈΠΌΠ΅ Π·Π°ΠΏΡΠΎΡ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ. Πlax
ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΠ±Π΅ΡΡΠΊΠ° Π² ΠΌΠ°ΡΡΠΈΠ² - Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°
ΠΡΠΈΠΌΠ΅ΡΡ:
[
{
"class": "Station",
"title": "Medina"
},
{
"class": "Corvette",
"title": "Rocinante"
}
]
lax | strict | |
---|---|---|
$[*].title | "Medina", "Rocinante" | "Medina", "Rocinante" |
lax $[0][*].class | "Station" | ΠΡΠΈΠ±ΠΊΠ° |
Π Π°Π·Π±Π΅ΡΠ΅ΠΌ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎ ΡΠ°Π³Π°ΠΌ:
$[0]
Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΠ²Π°, ΡΠΎ Π΅ΡΡΡ{"class": "Station", "title": "Medina"}
$[0][*]
ΠΎΠΆΠΈΠ΄Π°Π΅Ρ ΠΌΠ°ΡΡΠΈΠ² Π½Π° Π²Ρ ΠΎΠ΄, Π½ΠΎ Π±ΡΠ» Π΄Π°Π½ ΠΎΠ±ΡΠ΅ΠΊΡ. ΠΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΠ±Π΅ΡΡΠΊΠ° Π² ΠΌΠ°ΡΡΠΈΠ², ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ[ {"class": "Station", "title": "Medina"} ]
- Π’Π΅ΠΏΠ΅ΡΡ
$[0][*]
ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡΡΡ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°, ΡΠΎ Π΅ΡΡΡ{"class": "Station", "title": "Medina"}
$[0][*].class
Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΠΎΠ»Π΅class
, ΡΠΎ Π΅ΡΡΡ"Station"
.
ΠΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅
ΠΡΠ΅ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠΈΡΠ»Π°ΠΌΠΈ ΠΊΠ°ΠΊ Ρ Double. ΠΠΎΠ·ΠΌΠΎΠΆΠ½Π° ΠΏΠΎΡΠ΅ΡΡ ΡΠΎΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡΡ .
Π£Π½Π°ΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ
JsonPath ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ½Π°ΡΠ½ΡΠΉ +
ΠΈ -
.
Π£Π½Π°ΡΠ½Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΊΠΎ Π²ΡΠ΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ ΠΈΠ· Π²Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. ΠΡΠ»ΠΈ ΡΠ½Π°ΡΠ½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠΎΠ΄Π°ΡΡ Π½Π° Π²Ρ ΠΎΠ΄ Π½Π΅ ΡΠΈΡΠ»ΠΎ, Π·Π°ΠΏΡΠΎΡ Π·Π°Π²Π΅ΡΡΠΈΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ Π² ΠΎΠ±ΠΎΠΈΡ ΡΠ΅ΠΆΠΈΠΌΠ°Ρ .
ΠΡΠΈΠΌΠ΅Ρ:
ΠΠ°ΠΏΡΠΎΡ strict -$[*]
Π·Π°Π²Π΅ΡΡΠΈΡΡΡ ΡΡΠΏΠ΅ΡΠ½ΠΎ Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ -1, -2, -3, -4
.
ΠΠ°ΠΏΡΠΎΡ lax -$
Π·Π°Π²Π΅ΡΡΠΈΡΡΡ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ $
ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ, Π° Π½Π΅ ΡΠΈΡΠ»ΠΎΠΌ.
ΠΠΈΠ½Π°ΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ
JsonPath ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π±ΠΈΠ½Π°ΡΠ½ΡΠ΅ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ (Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΡΠ±ΡΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ°):
- Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅
*
, Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠΈΡΠ΅Π» Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠΎΠΉ/
, Π²Π·ΡΡΠΈΠ΅ ΠΎΡΡΠ°ΡΠΊΠ°%
(ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠ°ΠΊ ΡΡΠ½ΠΊΡΠΈΡMOD
Π²SQL
) - Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅
+
, Π²ΡΡΠΈΡΠ°Π½ΠΈΠ΅-
ΠΠΎΡΡΠ΄ΠΎΠΊ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΊΠΎΠ±ΠΎΡΠΊΠΈ.
Π ΡΠ»ΡΡΠ°Π΅ Π΅ΡΠ»ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π±ΠΈΠ½Π°ΡΠ½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ ΠΈΠ»ΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° Π½ΠΎΠ»Ρ, Π·Π°ΠΏΡΠΎΡ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ Π² ΠΎΠ±ΠΎΠΈΡ ΡΠ΅ΠΆΠΈΠΌΠ°Ρ .
ΠΡΠΈΠΌΠ΅ΡΡ:
(1 + 2) * 3
Π΄Π°ΡΡ9
1 / 2
Π΄Π°ΡΡ0.5
5 % 2
Π΄Π°ΡΡ1
1 / 0
Π·Π°Π²Π΅ΡΡΠΈΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ- ΠΡΠΈ JSON
[-32.4, 5.2]
Π·Π°ΠΏΡΠΎΡ$[0] % $[1]
Π΄Π°ΡΡ-1.2
- ΠΡΠΈ JSON
[1, 2, 3, 4]
Π·Π°ΠΏΡΠΎΡlax $[*] + $[*]
Π·Π°Π²Π΅ΡΡΠΈΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ$[*]
— ΡΡΠΎ1, 2, 3, 4
, Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΈΡΠ΅Π». ΠΠΈΠ½Π°ΡΠ½Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎ ΡΠΈΡΠ»ΠΎ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ²ΠΎΠ΅Π³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°.
ΠΡΠ»Π΅Π²ΡΠΊΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
Π ΠΎΡΠ»ΠΈΡΠΈΠΈ ΠΎΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π² JsonPath Π±ΡΠ»Π΅Π²ΡΠΊΠΈΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΡΡΠΈΡΠ°ΡΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ true
(ΠΈΡΡΠΈΠ½Π°) ΠΈ false
(Π»ΠΎΠΆΡ), Π½ΠΎ ΠΈ null
(Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΡΡΡ).
JsonPath ΡΡΠΈΡΠ°Π΅Ρ Π²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΠΈΠ· JSON Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°, Π½Π΅ Π±ΡΠ»Π΅Π²ΡΠΊΠΈΠΌΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π°ΠΏΡΠΎΡ ! $.is_valid_user
(Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΡΡΠΈΡΠ°Π½ΠΈΠ΅, ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½Π½ΠΎΠ΅ ΠΊ ΠΏΠΎΠ»Ρ is_valid_user
), ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅Π²Π΅ΡΠ½ΡΠΌ ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΠΎΠ»Π΅ is_valid_user
Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π±ΡΠ»Π΅Π²ΡΠΊΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ (Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΏΠΎ ΡΠ°ΠΊΡΡ Π² Π½Π΅ΠΌ Ρ
ΡΠ°Π½ΠΈΡΡΡ true
ΠΈΠ»ΠΈ false
). ΠΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ°ΠΊΠΎΠΉ Π·Π°ΠΏΡΠΎΡ — ΡΡΠΎ ΡΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ Π±ΡΠ»Π΅Π²ΡΠΊΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ $.is_valid_user == false
.
ΠΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ
JsonPath ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π±ΡΠ»Π΅Π²ΡΠΊΠΈΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ.
ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ Π²ΡΠ΅Ρ
Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ²Π»ΡΡΡΡΡ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ Π±ΡΠ»Π΅Π²ΡΠΊΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ.
ΠΡΠ΅ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π±ΡΠ»Π΅Π²ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΡΡΠΈΡΠ°Π½ΠΈΠ΅, !
Π’Π°Π±Π»ΠΈΡΠ° ΠΈΡΡΠΈΠ½Π½ΠΎΡΡΠΈ:
x | !x |
---|---|
true | false |
false | true |
null | null |
ΠΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π, &&
Π’Π°Π±Π»ΠΈΡΠ° ΠΈΡΡΠΈΠ½Π½ΠΎΡΡΠΈ, ΠΏΠ΅ΡΠ²ΡΠΉ ΡΡΠΎΠ»Π±Π΅Ρ ΡΡΠΎ Π»Π΅Π²ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, ΠΏΠ΅ΡΠ²Π°Ρ ΡΡΡΠΎΠΊΠ° ΡΡΠΎ ΠΏΡΠ°Π²ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΊΠ»Π΅ΡΠΊΠ° ΡΡΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π Ρ Π»Π΅Π²ΡΠΌ ΠΈ ΠΏΡΠ°Π²ΡΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ:
&& | true | false | null |
---|---|---|---|
true | true | false | null |
false | false | false | false |
null | null | false | null |
ΠΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΠΠ, ||
Π’Π°Π±Π»ΠΈΡΠ° ΠΈΡΡΠΈΠ½Π½ΠΎΡΡΠΈ, ΠΏΠ΅ΡΠ²ΡΠΉ ΡΡΠΎΠ»Π±Π΅Ρ ΡΡΠΎ Π»Π΅Π²ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, ΠΏΠ΅ΡΠ²Π°Ρ ΡΡΡΠΎΠΊΠ° ΡΡΠΎ ΠΏΡΠ°Π²ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΊΠ»Π΅ΡΠΊΠ° ΡΡΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΠΠ Ρ Π»Π΅Π²ΡΠΌ ΠΈ ΠΏΡΠ°Π²ΡΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ:
|| | true | false | null |
---|---|---|---|
true | true | true | true |
false | true | false | null |
null | true | null | null |
ΠΡΠΈΠΌΠ΅ΡΡ:
! (true == true)
, ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρfalse
(true == true) && (true == false)
, ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρfalse
(true == true) || (true == false)
, ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρtrue
ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ
JsonPath ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Π΄Π»Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ:
- Π Π°Π²Π΅Π½ΡΡΠ²ΠΎ,
==
- ΠΠ΅ΡΠ°Π²Π΅Π½ΡΡΠ²ΠΎ,
!=
ΠΈ<>
- ΠΠ΅Π½ΡΡΠ΅ ΠΈ ΠΌΠ΅Π½ΡΡΠ΅ Π»ΠΈΠ±ΠΎ ΡΠ°Π²Π½ΠΎ,
<
ΠΈ<=
- ΠΠΎΠ»ΡΡΠ΅ ΠΈ Π±ΠΎΠ»ΡΡΠ΅ Π»ΠΈΠ±ΠΎ ΡΠ°Π²Π½ΠΎ,
>
ΠΈ>=
ΠΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π±ΡΠ»Π΅Π²ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΠ±Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ.
ΠΡΠ»ΠΈ ΠΏΡΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ°, ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ null
. ΠΡΠΈ ΡΡΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ JsonPath Π·Π°ΠΏΡΠΎΡΠ° ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ.
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ². ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ°ΡΡ, Π³Π΄Π΅ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π±Π΅ΡΠ΅ΡΡΡ ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π»Π΅Π²ΠΎΠ³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°, Π° Π²ΡΠΎΡΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠ°Π²ΠΎΠ³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°:
- ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠ°ΡΡ
- ΠΡΠ»ΠΈ ΠΏΡΠΈ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ°, ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΡΠ»Π°Π³
ERROR
- ΠΡΠ»ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΡΡΠΎ ΠΈΡΡΠΈΠ½Π°, ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΡΠ»Π°Π³
FOUND
- ΠΡΠ»ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ»Π°Π³ΠΎΠ²
ERROR
ΠΈΠ»ΠΈFOUND
ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΠΈ Π·Π°ΠΏΡΠΎΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π²lax
ΡΠ΅ΠΆΠΈΠΌΠ΅, Π±ΠΎΠ»ΡΡΠ΅ Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠ°ΡΡ Π½Π΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ
ΠΡΠ»ΠΈ ΠΏΠΎΡΠ»Π΅ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΡ ΠΏΠ°Ρ:
- Π£ΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΡΠ»Π°Π³
ERROR
, ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρnull
- Π£ΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΡΠ»Π°Π³
FOUND
, ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρtrue
- ΠΠ½Π°ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ
false
ΠΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΡΠΎ Π΄Π°Π½Π½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ Π²ΡΠ΅ ΠΏΠ°ΡΡ ΠΈΠ· Π΄Π΅ΠΊΠ°ΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ Π»Π΅Π²ΠΎΠ³ΠΎ ΠΈ ΠΏΡΠ°Π²ΠΎΠ³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°, ΠΏΡΡΠ°ΡΡΡ Π½Π°ΠΉΡΠΈ ΡΡ, ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Π΅ΡΠ½Π΅Ρ ΠΈΡΡΠΈΠ½Ρ.
Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΏΠ°ΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ:
- ΠΡΠ»ΠΈ Π»Π΅Π²ΡΠΉ ΠΈΠ»ΠΈ ΠΏΡΠ°Π²ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΡΠ²Π»ΡΡΡΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ, ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ
null == null
Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΡΡΠΈΠ½Ρ- ΠΠΎ Π²ΡΠ΅Ρ
ΠΎΡΡΠ°Π»ΡΠ½ΡΡ
ΡΠ»ΡΡΠ°ΡΡ
Π΅ΡΠ»ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ²
null
, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π»ΠΎΠΆΡ - ΠΡΠ»ΠΈ Π»Π΅Π²ΡΠΉ ΠΈ ΠΏΡΠ°Π²ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΡΠ°Π·Π½ΡΡ ΡΠΈΠΏΠΎΠ², ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ
- Π‘ΡΡΠΎΠΊΠΈ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡΡΡ ΠΏΠΎΠ±Π°ΠΉΡΠΎΠ²ΠΎ
true
ΡΡΠΈΡΠ°Π΅ΡΡΡ Π±ΠΎΠ»ΡΡΠ΅false
- Π§ΠΈΡΠ»Π° ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡΡΡ Ρ ΡΠΎΡΠ½ΠΎΡΡΡΡ
1e-20
ΠΡΠΈΠΌΠ΅Ρ:
ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ JSON Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ
{
"left": [1, 2],
"right": [4, "Inaros"]
}
ΠΈ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΏΠΎ ΡΠ°Π³Π°ΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠ° lax $.left < $.right
:
- ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² Π² Π»Π΅Π²ΠΎΠΌ ΠΈ ΠΏΡΠ°Π²ΠΎΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ΅. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π»Π΅Π²ΠΎΠ³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ
1, 2
, Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠ°Π²ΠΎΠ³ΠΎ4, "Iranos"
- Π Π°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌ ΠΏΠ°ΡΡ
(1, 4)
. Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ ΡΡΠΏΠ΅ΡΠ½ΠΎ,1 < 4
ΡΡΠΎ ΠΈΡΡΠΈΠ½Π°. Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΡΠ»Π°Π³FOUND
- ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Π²
lax
ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΡΠ»Π°Π³FOUND
, Π±ΠΎΠ»ΡΡΠ΅ Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠ°ΡΡ ΠΌΡ Π½Π΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌ - ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΡΠ»Π°Π³
FOUND
, ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΡΡΠΈΠ½Ρ
Π Π°Π·Π±Π΅ΡΠ΅ΠΌ ΡΠΎΡ ΠΆΠ΅ Π·Π°ΠΏΡΠΎΡ, Π½ΠΎ Π² Π΄ΡΡΠ³ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ: strict $.left < $.right
:
- ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² Π² Π»Π΅Π²ΠΎΠΌ ΠΈ ΠΏΡΠ°Π²ΠΎΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ΅. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π»Π΅Π²ΠΎΠ³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ
1, 2
,
JSON — ΠΠ±ΡΠ΅ΠΊΡΡ
ΠΠ±ΡΠ΅ΠΊΡΡ JSON ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Π²Π½ΡΡΡΠΈ ΡΠΈΠ³ΡΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΎΠΊ { }.
ΠΠ±ΡΠ΅ΠΊΡΡ JSON Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΏΠ°Ρ «ΠΊΠ»ΡΡ/Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅«.
ΠΠ»ΡΡΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ, Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ β Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΡ Π² JSON ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ (ΡΡΡΠΎΠΊΠ°, ΡΠΈΡΠ»ΠΎ, ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΌΠ°ΡΡΠΈΠ², boolean ΠΈΠ»ΠΈ null).
ΠΠ»ΡΡΠΈ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ°Π·Π΄Π΅Π»ΡΡΡΡΡ Π΄Π²ΠΎΠ΅ΡΠΎΡΠΈΠ΅ΠΌ.
ΠΠ°ΠΆΠ΄Π°Ρ ΠΏΠ°ΡΠ° «ΠΊΠ»ΡΡ/Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅» ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΡΡΡ Π·Π°ΠΏΡΡΠΎΠΉ.
ΠΡΠΈΠΌΠ΅Ρ:
{ "name":"John", "age":30, "car":null }
ΠΠΎΡΡΡΠΏ ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
ΠΠΎΡΡΡΠΏ ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π·Π°ΠΏΠΈΡΠΈ Ρ ΡΠΎΡΠΊΠΎΠΉ (.):
myObj = { "name":"John", "age":30, "car":null };
x = myObj.name;
Π’Π°ΠΊΠΆΠ΅ Π΄ΠΎΡΡΡΠΏ ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π·Π°ΠΏΠΈΡΠΈ Ρ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΠΌΠΈ ΡΠΊΠΎΠ±ΠΊΠ°ΠΌΠΈ [ ]:
myObj = { "name":"John", "age":30, "car":null };
x = myObj["name"];
ΠΠ±Ρ ΠΎΠ΄ ΡΠ²ΠΎΠΉΡΡΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠ°
Π§ΡΠΎΠ±Ρ ΠΎΠ±ΠΎΠΉΡΠΈ Π²ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ°, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΠ» for-in:
myObj = { "name":"John", "age":30, "car":null };
for (x in myObj) {
document.getElementById("demo").innerHTML += x;
}
Π§ΡΠΎΠ±Ρ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π° for-in ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ ΡΠ²ΠΎΠΉΡΡΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π·Π°ΠΏΠΈΡΡ Ρ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΠΌΠΈ ΡΠΊΠΎΠ±ΠΊΠ°ΠΌΠΈ:
myObj = { "name":"John", "age":30, "car":null };
for (x in myObj) {
document.getElementById("demo").innerHTML += myObj[x];
}
ΠΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ JSON
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ²ΠΎΠΉΡΡΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠ° JSON ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ JSON.
myObj = {
"name":"John",
"age":30,
"cars": {
"car1":"Ford",
"car2":"BMW",
"car3":"Fiat"
}
}
ΠΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌ JSON ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π·Π°ΠΏΠΈΡΠΈ Ρ ΡΠΎΡΠΊΠΎΠΉ ΠΈΠ»ΠΈ Ρ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΠΌΠΈ ΡΠΊΠΎΠ±ΠΊΠ°ΠΌΠΈ:
x = myObj.cars.car2;
// ΠΈΠ»ΠΈ
x = myObj.cars["car2"];
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ
Π§ΡΠΎΠ±Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π»ΡΠ±ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° JSON, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π·Π°ΠΏΠΈΡΡ Ρ ΡΠΎΡΠΊΠΎΠΉ:
myObj.cars.car2 = "Mercedes";
Π’Π°ΠΊΠΆΠ΅, Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° JSON, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π·Π°ΠΏΠΈΡΡ Ρ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΠΌΠΈ ΡΠΊΠΎΠ±ΠΊΠ°ΠΌΠΈ:
myObj.cars["car2"] = "Mercedes";
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠ°
Π§ΡΠΎΠ±Ρ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΠΈΠ· ΠΎΠ±ΡΠ΅ΠΊΡΠ° JSON, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ delete:
delete myObj.cars.car2;
JSON — ΠΠ°ΡΡΠΈΠ²Ρ ΠΠ²Π΅ΡΡ JSON — Π’ΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ JSON | WebReference
JSON Ρ ΡΠ°Π½ΠΈΡ Π΄Π°Π½Π½ΡΠ΅ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ°Ρ ΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°Ρ . Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ JSON ΠΎΡΡΠ°ΠΆΠ°Π΅Ρ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ.
ΠΠ±ΡΠ΅ΠΊΡΡ JSON
ΠΠ±ΡΠ΅ΠΊΡ JSON β ΡΡΠΎ Π½Π΅ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΡΠΉ Π½Π°Π±ΠΎΡ ΠΏΠ°Ρ ΠΈΠΌΡ/Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π²ΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΈΠ³ΡΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΎΠΊ { }.
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ artistname β ΡΡΠΎ ΠΈΠΌΡ, Π° Deep Purple β Π΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
{ "artistname" : "Deep Purple" }
ΠΠ±ΡΠ΅ΠΊΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π½ΠΎΠ»Ρ ΠΈΠ»ΠΈ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΠ°Ρ ΠΈΠΌΡ/Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠ°Ρ ΡΠ°Π·Π΄Π΅Π»ΡΡΡΡΡ Π·Π°ΠΏΡΡΡΠΌΠΈ. ΠΠΎΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ.
{ }
{ "artistname" : "Deep Purple" }
{
"artistname" : "Deep Purple",
"formed" : "1968"
}
{
"artistname" : "Deep Purple",
"formed" : "1968",
"origin" : "Π₯Π΅ΡΡΡΠΎΡΠ΄, ΠΠ΅Π»ΠΈΠΊΠΎΠ±ΡΠΈΡΠ°Π½ΠΈΡ"
}
Π JSON ΠΈΠΌΡ β ΡΡΠΎ ΡΡΡΠΎΠΊΠ°. ΠΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΌΠ°ΡΡΠΈΠ², ΡΠΈΡΠ»ΠΎ, ΡΡΡΠΎΠΊΠ°, true, false ΠΈΠ»ΠΈ null.
Π ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΡΡ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ²Π»ΡΡΡΡΡ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ.
ΠΠ°ΡΡΠΈΠ²Ρ JSON
ΠΠ°ΡΡΠΈΠ² JSON β ΡΡΠΎ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΡΠΉ Π½Π°Π±ΠΎΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Ρ ΡΠ°Π½ΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. ΠΠ°ΡΡΠΈΠ² Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ Π»Π΅Π²ΠΎΠΉ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΠΎΠΉ ΡΠΊΠΎΠ±ΠΊΠΈ [ ΠΈ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΠΎΠΉ ΡΠΊΠΎΠ±ΠΊΠΎΠΉ ]. ΠΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ°Π·Π΄Π΅Π»ΡΡΡΡΡ Π·Π°ΠΏΡΡΠΎΠΉ.
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π΅ΠΉ.
{
"artists" : [
{
"artistname" : "Deep Purple",
"formed" : "1968"
},
{
"artistname" : "Joe Satriani",
"born" : "1956"
},
{
"artistname" : "Maroon 5",
"formed" : "1994"
}
]
}
ΠΡΠΎΠ±Π΅Π»Ρ
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ±Π΅Π»Ρ, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π²Π°ΡΠΈ JSON-Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠ°Π±Π΅Π»ΡΠ½ΡΠΌΠΈ. Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠΎ ΡΠΎΠ³Π»Π°ΡΡΠ΅ΡΡΡ Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎΠΌ (Π΅ΡΠ»ΠΈ Π½Π΅ Π²ΡΠ΅ΠΌΠΈ) ΡΠ·ΡΠΊΠ°ΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΏΡΠΎΠ±Π΅Π»Ρ, ΡΠ°Π±ΡΠ»ΡΡΠΈΡ, ΠΏΠ΅ΡΠ΅Π½ΠΎΡΡ ΡΡΡΠΎΠΊ ΠΈΠ»ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π΄Π»Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΡΠΈΡΠ°Π΅ΠΌΠΎΡΡΠΈ Π²Π°ΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ². Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ°ΠΊ.
{
"artists" : [
{ "artistname" : "Deep Purple", "formed" : "1968" },
{ "artistname" : "Joe Satriani", "born" : "1956" },
{ "artistname" : "Maroon 5", "formed" : "1994" }
]
}
ΠΠ»ΠΈ ΡΠ°ΠΊ.
{
"artists" : [
{
"artistname" : "Deep Purple",
"formed" : "1968"
},
{
"artistname" : "Joe Satriani",
"born" : "1956"
},
{
"artistname" : "Maroon 5",
"formed" : "1994"
}
]
}
ΠΡΠΈ Π΄Π²Π° ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΎΠ΄Π½ΠΈ ΠΈ ΡΠ΅ ΠΆΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈ ΠΏΡΠΎΡΡΠΎΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠ² Π½Π° Π΄Π°Π½Π½ΡΠ΅ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ Π²Π»ΠΈΡΠ΅Ρ.
ΠΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΠ»ΠΈ Π² ΡΡΡΠΎΠΊΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΡΠΎΠ±Π΅Π» Π²Π½ΡΡΡΠΈ Π΄Π²ΠΎΠΉΠ½ΡΡ ΠΊΠ°Π²ΡΡΠ΅ΠΊ, ΡΠΎ ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΠ΅.
ΠΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅
ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ JSON-ΡΠ°ΠΉΠ»ΠΎΠ² Ρ ΡΠ°Π½ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ , ΡΡΠΎ ΠΎΠ±ΡΡΠ»ΠΎΠ²Π»Π΅Π½ΠΎ ΠΈΡ ΡΡΡΡΠΊΡΡΡΠΎΠΉ. Π ΠΏΡΠΈΠΌΠ΅ΡΡ, Ρ Π½Π°Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΌΠ°ΡΡΠΈΠ² ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π΅ΠΉ, Π΅Π³ΠΎ ΠΈΠΌΡΒ β artists, Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅Β β ΠΌΠ°ΡΡΠΈΠ², ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΡΠ°Π·Π½ΡΡ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΡ . Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ²ΠΎΠΉ ΠΌΠ°ΡΡΠΈΠ² Π°Π»ΡΠ±ΠΎΠΌΠΎΠ², ΠΊΠ°ΠΆΠ΄ΡΠΉ Ρ ΡΠ°Π·Π½ΠΎΠΉ ΠΏΠ°ΡΠΎΠΉ ΠΈΠΌΡ/Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
{
"artists" : [
{
"artistname" : "Deep Purple",
"formed" : "1968",
"albums" : [
{
"albumname" : "Machine Head",
"year" : "1972",
"genre" : "Π ΠΎΠΊ"
},
{
"albumname" : "Stormbringer",
"year" : "1974",
"genre" : "Π ΠΎΠΊ"
}
]
}
]
}
Π§ΡΠΎΠ±Ρ ΡΠ°ΡΡΠΈΡΠΈΡΡ Π΄Π°Π½Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Π²ΠΎΠ·ΡΠΌΡΠΌ ΡΡΡΡ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π΅ΠΉ.
{
"artists" : [
{
"artistname" : "Deep Purple",
"formed" : "1968",
"albums" : [
{
"albumname" : "Machine Head",
"year" : "1972",
"genre" : "Π ΠΎΠΊ"
},
{
"albumname" : "Stormbringer",
"year" : "1974",
"genre" : "Π ΠΎΠΊ"
}
]
},
{
"artistname" : "Joe Satriani",
"born" : "1956",
"albums" : [
{
"albumname" : "Flying in a Blue Dream",
"year" : "1989",
"genre" : "ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠΎΠΊ"
},
{
"albumname" : "The Extremist",
"year" : "1992",
"genre" : "ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠΎΠΊ"
},
{
"albumname" : "Shockwave Supernova",
"year" : "2015",
"genre" : "ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠΎΠΊ"
}
]
},
{
"artistname" : "Snoop Dogg",
"born" : "1971",
"albums" : [
{
"albumname" : "Tha Doggfather",
"year" : "1996",
"genre" : "ΠΠ°Π½Π³ΡΡΠ°-ΡΡΠΏ"
},
{
"albumname" : "Snoopified",
"year" : "2005",
"genre" : "ΠΠ°Π½Π³ΡΡΠ°-ΡΡΠΏ"
}
]
}
]
}
ΠΠ²ΡΠΎΡ ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΡ
ΠΠ²ΡΠΎΡ: ΠΠ΅Π½ ΠΠΈΠΊΡΠΎΠ½
ΠΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅: 11.10.2019
Π Π΅Π΄Π°ΠΊΡΠΎΡΡ: ΠΠ»Π°Π΄ ΠΠ΅ΡΠΆΠ΅Π²ΠΈΡ
JSON Schema. ΠΡΡΡ ΠΈΠ»ΠΈ Π½Π΅ Π±ΡΡΡ? / Π₯Π°Π±Ρ
ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°: ΠΈΡΠΊΡΡΡΡΠ²ΠΎ Π΄Π΅Π»Π°ΡΡ ΠΈΠ·Π»ΠΈΡΠ½Π΅Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΌ.
Π€ΡΠ΅Π΄Π΅ΡΠΈΠΊ ΠΠΈΡΠ»Π΅Ρ
ΠΠΈ Π΄Π»Ρ ΠΊΠΎΠ³ΠΎ Π΄Π°Π²Π½ΠΎ ΡΠΆΠ΅ Π½Π΅ ΡΠ΅ΠΊΡΠ΅Ρ, ΡΡΠΎ Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ web-ΡΠ΅ΡΠ²ΠΈΡΠ° Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π΅ SOAP Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ XML Π²Π΅ΡΠ½ΡΠΌ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΠΌ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° XML Schema (xsd-ΡΡ Π΅ΠΌΡ), ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠ΅ΠΉ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ ΠΈ ΡΡΡΡΠΊΡΡΡΡ XML ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ. ΠΡΠΈ ΡΡΠΎΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π΅ Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠ²Π½ΠΎΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ: Ρ Π½ΠΈΡ Π΅ΡΡΡ ΡΡΡΠΎΠ³ΠΈΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΏΠΎ ΡΡΡΡΠΊΡΡΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°Π΄Π°Π½Ρ Π² ΡΡ Π΅ΠΌΠ΅, ΡΠΈΡΠ»ΠΎ ΠΏΡΠ°Π²ΠΈΠ» ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΈ ΠΎΠ½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ Π»ΡΠ±ΠΎΠ³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ XML.
ΠΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, ΡΡΠΎ ΡΠ·ΡΠΊ XML ΠΏΠΎΡΠ΅ΡΠ½ΠΈΠ»ΡΡ ΡΠ·ΡΠΊΠΎΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΈ JSON (JavaScript Object Notation) Π² Π²ΠΈΠ΄Ρ Π΅Π³ΠΎ Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΡΡΠΆΠ΅Π»ΠΎΠ²Π΅ΡΠ½ΠΎΡΡΠΈ (ΡΡΠΆΠ΅Π»ΠΎΠ²Π΅ΡΠ½ΠΎΡΡΠΈ XML), Π° ΡΠ°ΠΊΠΆΠ΅ Π² Π²ΠΈΠ΄Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΠΎΠ³ΠΎ ΡΡΠΈΠ»Ρ REST (REpresentational State Transfer) ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ. Π₯ΠΎΡΡ ΡΠ°ΠΌ REST-ΡΡΠΈΠ»Ρ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ JSON (ΠΎΠ½ Π²ΠΎΠΎΠ±ΡΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ, Π° Β«ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΒ»), Π½ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°, ΡΠ°ΡΠ΅ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ REST API Π²ΡΠ΅-ΡΠ°ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ JSON Π΄Π»Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ΅Π»Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ.
Π’Π°ΠΊ Π²ΠΎΡ, ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ REST API Ρ JSONβΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΏΡΠΎΡΠ½ΠΎ Π²ΠΎΡΠ»Π° Π² ΠΆΠΈΠ·Π½Ρ ΠΠ’ Π² Π ΠΎΡΡΠΈΠΈ (ΠΈ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Ρ Π½Π°Ρ), Ρ ΠΎΡΡ ΠΎΠΏΡΡ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΏΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΡΡΠΊΡΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Π² Π²ΠΈΠ΄Π΅ XML Schema, Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΏΡΠΎΡΡΠΈΠ²ΡΠΈΠΉ ΠΆΠΈΠ·Π½Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² web-ΡΠ»ΡΠΆΠ± Π² ΡΠ²ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, ΡΠΏΠΎΡΠ½ΠΎ ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΡΡΡ Π² ΡΠ»ΡΡΠ°Π΅ c JSONβΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ. ΠΠΎ Π½Π΅ Π²ΡΠ΅ΠΌΠΈ, ΡΡΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΡΠ°Π΄ΠΎΠ²Π°ΡΡ.
ΠΠΎΠ³Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ, Π·Π½Π°ΠΊΠΎΠΌΡΠ΅ Ρ XML Schema, ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΠΈΡΡ Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· Π·Π°Π½ΠΎΠ²ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ΅ΡΠ°ΡΡ Π²Π΅Π»ΠΎΡΠΈΠΏΠ΅Π΄ Ρ ΡΠ°Π·Π±ΠΎΡΠΎΠΌ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ ΠΏΠ΅ΡΠ΅ΠΈΠ·ΠΎΠ±ΡΠ΅ΡΠ°ΡΡ Π»ΠΎΠ³ΠΈΠΊΡ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ, ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π»ΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΉ Π΄ΡΠ°ΡΡ JSON Schema. ΠΠ½ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ json-schema.org, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ΄ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠΎ ΠΈΡΡΠΎΡΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. Π Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ ΡΡΠΎ ΠΎΠ½ ΠΏΡΠ±Π»ΠΈΠΊΡΠ΅ΡΡΡ Π² ΡΡΠ°ΡΡΡΠ΅ Β«draftΒ», Π΅Π³ΠΎ Π΄Π°Π²Π½ΠΎ ΡΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π²ΡΠ΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π½Π° ΡΠ°Π·Π½ΡΡ ΡΠ·ΡΠΊΠ°Ρ .
Π‘Π°ΠΌΠ° JSON Schema ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΌΠ΅Π½ΡΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΏΠΎ ΡΡΡΡΠΊΡΡΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, ΡΠ΅ΠΌ XML Schema. Π’ΠΎ, ΡΡΠΎ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°ΡΡ ΡΠ΅ΡΠ΅Π· XML Schema, Π½Π΅ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ ΡΡΠΈΠ²ΠΈΠ°Π»ΡΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ JSON Schema, Π΅ΡΠ»ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. ΠΠΎ Π·Π΄Π΅ΡΡ ΠΆΠ΅ Ρ Π±Ρ Π΄Π°Π½Π½ΡΠΉ ΡΠ°ΠΊΡ ΡΡΠ°Π»Π° ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΈ ΠΊΠ°ΠΊ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ. ΠΠΎΡΠ΅ΠΌΡ?
ΠΠ·Π²Π΅ΡΡΠ½ΠΎ, ΡΡΠΎ ΡΠ΅ΠΌ ΠΏΡΠΎΡΠ΅ ΠΈ Π»ΠΈΠ½Π΅ΠΉΠ½Π΅Π΅ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠ°Π±ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, ΡΠ΅ΠΌ ΠΎΠ½Π° ΠΈ Π½Π°Π΄Π΅ΠΆΠ½Π΅Π΅, ΡΡΠΎ ΡΠ΅ΠΌ ΠΏΡΠΎΡΠ΅ ΡΡΡΡΠΊΡΡΡΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°, ΡΠ΅ΠΌ Π»Π΅Π³ΡΠ΅ ΠΎΠ½ Π΄Π»Ρ Π²ΠΎΡΠΏΡΠΈΡΡΠΈΡ ΠΈ Ρ.Π΄.
ΠΠ΅ ΠΌΠΎΠ³Ρ ΡΠ΄Π΅ΡΠΆΠ°ΡΡΡΡ, ΡΡΠΎΠ±Ρ Π½Π΅ ΠΏΡΠΎΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ: Β«ΠΡΡ Π³Π΅Π½ΠΈΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΡΡΠΎ, ΠΈ Π²ΡΡ ΠΏΡΠΎΡΡΠΎΠ΅ Π³Π΅Π½ΠΈΠ°Π»ΡΠ½ΠΎΒ». Π Π΅ΡΠ»ΠΈ Π½Π΅ ΡΠ΄Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡ Π΅ΠΌΡ ΠΎΠΏΠΈΡΠ°ΡΡ ΡΠ»ΠΎΠΆΠ½ΡΡ ΡΡΡΡΠΊΡΡΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ², ΡΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΡΠΎΠΈΡ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π² ΡΡΠΎΡΠΎΠ½Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΡΠ°ΠΌΠΎΠΉ ΡΡΡΡΠΊΡΡΡΡ ΠΈ Π»ΠΎΠ³ΠΈΠΊΠΈ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°?
ΠΡΠ΅Π΄ΠΈΡΠ»ΠΎΠ²ΠΈΠ΅
ΠΡΠ°ΠΊ, ΠΎ ΡΠ΅ΠΌ ΠΆΠ΅ ΡΡΠ° ΡΡΠ°ΡΡΡ?
Π― Π±Ρ Ρ ΠΎΡΠ΅Π»Π° ΠΏΡΠΈΠ²Π»Π΅ΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ ΠΊ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°ΠΌ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΡ JSON ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΡΡ Π΅ΠΌΠΎΠΉ JSON Schema. ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ Β«Π½Π° Π²Ρ ΠΎΠ΄Π΅Β» ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° REST API Π±Π΅Π· ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ JSON-ΡΡ Π΅ΠΌΡ Π²ΡΠ΅Π³Π΄Π° ΠΏΡΠΎΡΠ΅ ΠΈ Π±ΡΡΡΡΠ΅Π΅, Π½ΠΎ Ρ ΡΠΎΡΡΠΎΠΌ ΡΠΈΡΡΠ΅ΠΌΡ, Π΅Π΅ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΡΠ°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°ΡΠ΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΡΠ΄ΠΎΡΠΎΠΆΠ°Π½ΠΈΡ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΡ. Π’Π°ΠΊΠΆΠ΅ Π»ΡΠ±Π°Ρ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΏΡΠΎΡΠ°Π±ΠΎΡΠΊΠ° ΡΡΡΡΠΊΡΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΡΠΏΠΎΡΠΎΠ±ΡΡΠ²ΡΠ΅Ρ Π±ΠΎΠ»Π΅Π΅ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ±ΠΌΠ΅Π½Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ, Π±Π΅Π· Π»ΠΈΡΠ½Π΅Π³ΠΎ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈ ΠΎΠ±ΠΌΠ΅Π½Π΅ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΈ ΠΎΠ±ΡΠΈΠΌΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌΠΈ ΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ.
Π’Π°ΠΊΠΆΠ΅ Π² ΡΠ΅Π»ΡΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² ΡΡΡΡΠΊΠΎΡΠ·ΡΡΠ½ΠΎΠΌ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π΅ ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ JSON Schema ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π°Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π½Π΅ΠΉ Ρ ΠΏΠΎΠ΄Π΅Π»ΡΡΡ ΡΠ²ΠΎΠΈΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌ ΠΎΠΏΡΡΠΎΠΌ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ Π² ΡΠ°ΠΌΠΊΠ°Ρ Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠΈ.
ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ
ΠΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ ΠΊΠ°ΠΊ ΠΏΡΠΈΡΡΡΠΏΠΈΡΡ ΠΊ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ JSON ΠΈ JSON Schema, ΠΎΠΏΠΈΡΡ Π·Π°Π΄Π°ΡΡ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ Π²ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ Π΄Π°Π»Π΅Π΅.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠΎΠ»Π΅Π²ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π² ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ. ΠΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌ, ΡΡΠΎ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΉ ΡΠΎΠ»Π΅Π²ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΠ΄Π΅ΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ Π² ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ JSON ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π° REST-ΡΠ΅ΡΠ²ΠΈΡΠ°.
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ:
Π ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ Π΅ΡΡΡ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΈ, ΠΈΠΌ ΡΠ°ΡΡΠΎ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ . ΠΡΠΈ ΡΡΠΎΠΌ ΡΡΠΎΠ²Π΅Π½Ρ Π΄ΠΎΡΡΡΠΏΠ° (ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡΠΈΠΉ) ΠΊ ΡΠ΅ΠΌ ΠΈΠ»ΠΈ ΠΈΠ½ΡΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌ ΡΠΈΡΡΠ΅ΠΌΡ (ΡΠ΅ΡΡΡΡΠ°ΠΌ) Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ² Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΈΡ ΡΠΎΠ»ΠΈ Π² ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ, ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡΡΡ ΠΏΡΠΈ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π±ΡΡ Π³Π°Π»ΡΠ΅Ρ (ΡΠΎΠ»Ρ) Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ Π΄ΠΎΡΡΡΠΏ Π½Π° ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ (ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ/ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡΠΈΡ) ΠΊ ΡΠ°ΡΡΠ΅ΡΠ½ΡΠΌ Π»ΠΈΡΡΠΊΠ°ΠΌ (ΡΠ΅ΡΡΡΡ) ΠΏΠΎ Π·Π°ΡΠ°Π±ΠΎΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΠ΅ Π²ΡΠ΅Ρ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ², Π° Ρ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠ° (ΡΠΎΠ»Ρ), ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΡΠΏ Π½Π° ΡΡΠ΅Π½ΠΈΠ΅ (ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ/ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡΠΈΡ) ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΌΡ ΡΠ°ΡΡΠ΅ΡΠ½ΠΎΠΌΡ Π»ΠΈΡΡΠΊΡ (ΡΠ΅ΡΡΡΡ).
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΠΎΠΏΠΈΡΠ°ΡΡ ΡΠΎΠ»Π΅Π²ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π² ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ. ΠΠΎΡΡΡΠΏΠ½ΡΠ΅ ΡΠΎΠ»ΠΈ, Π½Π°Π±ΠΎΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡΠΈΠΉ ΠΈ ΡΠ΅ΡΡΡΡΠΎΠ² Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π΄ΡΡΠ³ΠΈΠΌ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌ ΠΏΠΎ Π·Π°ΠΏΡΠΎΡΡ.
Π ΠΈΡΡΠ½ΠΎΠΊ 1. ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΡΠΎΠ»Π΅Π²ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ
Π‘ΠΏΠΎΡΠΎΠ±Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎΠ»Π΅Π²ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΌΠΎΠ³ΡΡ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ, Π½ΠΎ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π² ΡΠΎΠ»Π΅Π²ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π² ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΠ΅:
- Π ΠΎΠ»Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ, Π±ΡΡ Π³Π°Π»ΡΠ΅Ρ ΠΈ Ρ.Π΄.).
- Π Π΅ΡΡΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ, ΠΎΠ±ΡΠ΅ΠΊΡ Π½Π΅Π΄Π²ΠΈΠΆΠΈΠΌΠΎΡΡΠΈ ΠΈ Ρ.Π΄.).
- ΠΠΏΠ΅ΡΠ°ΡΠΈΡ/ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΎΡΠ΅ΡΡΡ, ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠ°ΡΡ, ΡΠΎΠ·Π΄Π°ΡΡ ΠΈ Ρ.Π΄.).
ΠΡΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΡΠΎΠ»Π΅Π²ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° (ΠΊΠ°ΠΊ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ²) ΠΏΡΠΈΠ±Π΅Π³Π°ΡΡ ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏΠ° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΡ ΡΡΡΠ½ΠΎΡΡΠ΅ΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
Π’Π°Π±Π»ΠΈΡΠ° 1. ΠΠΈΡΠΊΡΠ΅ΡΠ½Π°Ρ ΠΌΠ°ΡΡΠΈΡΠ° Π΄ΠΎΡΡΡΠΏΠΎΠ².
ΠΠ°Π»Π΅Π΅ Π² ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠΌΡΡ ΡΠ½Π°ΡΠ°Π»Π° Ρ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠ΅ΠΉ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½ΡΠΌΠΈ JSON ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌΠΈ ΠΈΡ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ JSON Schema, Π° Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π±ΡΠ΄Ρ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΡΡΠ½ΠΎΡΡΠ΅ΠΉ-ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠΎΠ² Π΄Π»Ρ ΡΠΎΠ»Π΅ΠΉ, ΡΠ΅ΡΡΡΡΠΎΠ² ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π½Π° ΡΠ·ΡΠΊΠ΅ JSON ΠΈ ΠΈΡ JSONβΡΡ Π΅ΠΌ Π² ΡΠ°ΠΌΠΊΠ°Ρ Π½Π°ΡΠ΅ΠΉ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ.
JavaScript Object Notation (JSON)
JSON (Π°Π½Π³Π». JavaScript Object Notation) β ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠΎΡΠΌΠ°Ρ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½ΡΠΌΠΈ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° JavaScript.
Π’Π΅ΠΎΡΠΈΡ
Π―Π·ΡΠΊ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΈ JSON Π·Π°Π΄Π°Π΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΉ Π½Π°Π±ΠΎΡ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ . ΠΠ»Ρ ΠΏΠ°ΡΡ {βΠΊΠ»ΡΡβ: Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅} Π΄Π»Ρ Β«ΠΊΠ»ΡΡΠ°Β» Π²ΡΠ΅Π³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠΈΠΏ string, Π΄Π»Ρ Β«Π·Π½Π°ΡΠ΅Π½ΠΈΡΒ» ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΡ ΡΠΈΠΏΡ: string, number, object (ΡΠΈΠΏ JSON), array, boolean (true ΠΈΠ»ΠΈ false) ΠΈ null.
Π ΠΈΡΡΠ½ΠΎΠΊ 2. Π’ΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ JSON
ΠΠ° ΡΠΈΡΡΠ½ΠΊΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΡΠΈΠΏΡ ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. ΠΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ Π²ΡΠ΅, Π½Π° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ JSON ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° JavaScript, Π³Π΄Π΅:
- ΠΠ°Π½Π½ΡΠ΅ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΏΠ°Ρ {βΠΊΠ»ΡΡβ: Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅}.
- ΠΠ°Π½Π½ΡΠ΅ ΡΠ°Π·Π΄Π΅Π»ΡΡΡΡΡ Π·Π°ΠΏΡΡΡΠΌΠΈ.
- Π ΡΠΈΠ³ΡΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ.
- Π ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΠΌΠ°ΡΡΠΈΠ²Ρ.
- ΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ Β«ΠΊΠ»ΡΡΠ΅ΠΉΒ» ΡΠ΅Π³ΠΈΡΡΡΠΎΠ·Π°Π²ΠΈΡΠΈΠΌΡ.
Π ΠΈΡΡΠ½ΠΎΠΊ 3. Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ JSON
ΠΡΠ°ΠΊΡΠΈΠΊΠ°
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ° ΡΠΎΠ»Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π² ΡΠ΅ΡΠ²ΠΈΡΠ΅:
Π ΠΈΡΡΠ½ΠΎΠΊ 4. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ° ΡΠΎΠ»Π΅ΠΉ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ json
ΠΠ· ΠΏΡΠΈΠΌΠ΅ΡΠ° Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ Π΄Π°ΠΆΠ΅ Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΡΠΎΠ»Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π±Π°Π·ΠΎΠ²ΡΡ ΡΠΈΠΏΠΎΠ², ΠΏΡΠΈ ΠΈΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΡΡΡΡΠΊΡΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ. ΠΠ΄Π΅ΡΡ, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Ρ ΠΎΠΏΠΈΡΡΠ²Π°Ρ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ ΡΠΎΠ»Π΅ΠΉ ΡΠ΅ΡΠ΅Π· ΠΎΠ±ΡΠ΅ΠΊΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ², ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ (Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 4 Π²ΡΠ΄Π΅Π»Π΅Π½Ρ Π΄Π²ΡΠΌΡ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°ΠΌΠΈ).
Π ΡΠ°Π±Π»ΠΈΡΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ΅Π΄ΡΡΠ² Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ json-ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Π ΠΈΡΡΠ½ΠΎΠΊ 5. ΠΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ° ΡΠΎΠ»Π΅ΠΉ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ JSON
Π‘ΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ, ΡΡΠ»ΠΎΠ²Π½ΠΎ Π³ΠΎΠ²ΠΎΡΡ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ 3 Β«ΡΠ°Π±Π»ΠΈΡΡΒ» Π΄Π»Ρ Π·Π°Π΄Π°Π½ΠΈΡ ΡΠΎΠ»Π΅ΠΉ Π² Π³ΡΡΠΏΠΏΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΎΠ², Π±ΡΡ Π³Π°Π»ΡΠ΅ΡΠΎΠ² ΠΈ ΡΠ°Π±ΠΎΡΠΈΡ . Π‘ΠΎΡΡΠ°Π² Β«Π°ΡΡΠΈΠ±ΡΡΠΎΠ²Β» ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½, ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ.
ΠΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅, Π½Π° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄, ΡΠΏΡΠΎΡΠ°Π΅Ρ Π²ΠΎΡΠΏΡΠΈΡΡΠΈΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΡ ΡΡΡΡΠΊΡΡΡΡ Π·Π°Π΄Π°Π΄ΠΈΠΌ ΠΈ Π΄Π»Ρ Π΄Π²ΡΡ Π΄ΡΡΠ³ΠΈΡ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠΎΠ². ΠΡΠΈΠ²Π΅Π΄Ρ Π½ΠΈΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°Π±Π»ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π»Ρ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ° ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡΠΈΠΉ (ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ) ΠΈ ΡΠ΅ΡΡΡΡΠΎΠ².
Π ΠΈΡΡΠ½ΠΎΠΊ 6. ΠΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ° ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡΠΈΠΉ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ JSON
Π ΠΈΡΡΠ½ΠΎΠΊ 7. ΠΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ° ΡΠ΅ΡΡΡΡΠΎΠ² Π² ΡΠΎΡΠΌΠ°ΡΠ΅ JSON
ΠΡΡ
ΠΎΠ΄Π½ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅ JSON Π΄Π»Ρ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ° ΡΠΎΠ»Π΅ΠΉ, ΡΠ΅ΡΡΡΡΠΎΠ² ΠΈ ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ/ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅.
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ ΠΊ ΡΠ°ΠΌΠΎΠΌΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠΌΡ: ΠΊ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ JSON Schema ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡ
Π΅ΠΌΡ ΠΏΠΎΠ΄ Π½Π°ΡΠΈ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠΈ!
JSON Schema
Π’Π΅ΠΎΡΠΈΡ
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡ Π΅ΠΌΠ° json Π½Π°ΠΏΠΈΡΠ°Π½Π° Π² ΡΠΎΡΠΌΠ°ΡΠ΅ JSON, ΠΎΠ½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π²ΡΠ΅ ΡΠΈΠΏΡ JSON ΠΏΠ»ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅: ΡΠΈΠΏ integer, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ΡΠΈΠΏΠΎΠΌ ΡΠΈΠΏΠ° number. Π‘Π°ΠΌΠ° ΡΡ Π΅ΠΌΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ JSON-ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΠΈ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ JSON. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΡ Π΅ΠΌΠ° ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ , ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠ°ΠΌΠΎΠΉ ΡΡ Π΅ΠΌΡ:
Π ΠΈΡΡΠ½ΠΎΠΊ 8. Π’ΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ JSON Schema
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΡΠΈΡΡΠ½ΠΊΠ°, Π΄Π»Ρ ΡΡ Π΅ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π²ΡΠ΅ ΡΠ΅ ΠΆΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ , Π° ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠ΅ ΡΠ΅ ΠΆΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°, ΡΡΠΎ ΠΈ Π΄Π»Ρ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° JSON, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠ΅ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 3.
Π’Π΅ΠΏΠ΅ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ°ΠΌΠΎΠ΅ Π²Π°ΠΆΠ½ΠΎΠ΅ β ΠΏΡΠ°Π²ΠΈΠ»Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π² ΡΡ Π΅ΠΌΠ΅ Π΄Π»Ρ Π·Π°Π΄Π°Π½ΠΈΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ ΠΈ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ JSON-ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ.
JSON Schema ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ:
- ΠΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° JSON.
- Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΈΠΏΠ° ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌΡΡ Π΄Π°Π½Π½ΡΡ , ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° β Β«keywordsΒ», Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΠΊΠΎΡΠ½Ρ ΡΡ Π΅ΠΌΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° ΠΈ ΡΠΏΡΡΠΊΠ°ΡΡΡ ΠΊ ΠΈΡ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ.
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ Β«ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ»ΠΎΠ²Π°Β» ΡΠ²Π»ΡΡΡΡΡ ΡΠΈΡΡΠΎ ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ, ΠΊΠ°ΠΊ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ: Β«titleΒ», Β«descriptionΒ» ΠΈ Π΄Ρ., ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΡΡΠΎ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡ Π΅ΠΌΡ. ΠΡΡΠ³ΠΈΠ΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π΄Π»Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°: Β«$schemaΒ». ΠΡΠΎ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΡΡ Π΅ΠΌΡ. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΡΡΠΎΠΊΠΎΠΉ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠ΅ΠΉ URI, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ: «$schema»: Β«json-schema.org/draft-04/schema#Β».
ΠΠ΄Π΅ΡΡ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π½Π΅ Π²ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ Π²Π°ΡΠΈΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΡ Π΅ΠΌΠΎΠΉ. ΠΠΎ 4-ΠΉ Π΄ΡΠ°ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΅. Π ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΡ (JSON Schema 2019-09 Release Notes) Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ Π²Π΅ΡΡΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ json-schema.org/draft/2019-09/release-notes.html.
ΠΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ»ΠΎΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° JSON. ΠΡ ΠΌΡ ΡΠ΅ΠΉΡΠ°Ρ ΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ.
Π’Π°Π±Π»ΠΈΡΠ° 2. ΠΠ½Π°Π»ΠΈΠ· ΡΡΡΡΠΊΡΡΡΡ JSON Schema. ΠΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ»ΠΎΠ²Π° ΠΈ ΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
ΠΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ»ΠΎΠ²Π° ΡΡ Π΅ΠΌΡ JSON, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΠΎΠΏΠΈΡΠ°ΡΡ Π½Π°ΠΌ Π±ΡΠ΄ΡΡΡΡ ΡΡΡΡΠΊΡΡΡΡ Π½Π°ΡΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ JSON.
ΠΠ΄Π΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΉΡΠΈ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΡΠ»ΠΎΠ².
ΠΡΠ°ΠΊΡΠΈΠΊΠ°
ΠΡΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π·Π°Π²Π΅ΡΡΠ΅Π½Π½ΡΡ JSON-ΡΡ Π΅ΠΌ ΠΌΡ ΠΏΠΎΡΡΡΠΏΠΈΠΌ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°ΠΌΠΈΠΌΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ JSON. Π’.Π΅. ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π² Π΄ΡΠ΅Π²ΠΎΠ²ΠΈΠ΄Π½ΠΎΠΌ ΠΈ ΡΠ°Π±Π»ΠΈΡΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅ Π΄Π»Ρ Π½Π°ΡΠΈΡ ΡΡ Π΅ΠΌ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠΎΠ² ΡΠΎΠ»Π΅ΠΉ, ΡΠ΅ΡΡΡΡΠΎΠ² ΠΈ ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡΠΈΠΉ (ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ), Π° Ρ ΡΠ΅ΠΊΡΡΠΎΠΌ ΡΡ Π΅ΠΌ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π²ΡΠΈΡ ΡΡ ΡΠΈΡΠ°ΡΠ΅Π»Π΅ΠΉ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ Π² git.
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΡ Π΅ΠΌΠ° Π΄Π»Ρ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ° ΡΠΎΠ»Π΅ΠΉ.
Π ΠΈΡΡΠ½ΠΎΠΊ 9. ΠΡΠΈΠΌΠ΅Ρ JSON Schema Π΄Π»Ρ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ° ΡΠΎΠ»Π΅ΠΉ
ΠΠ°ΠΊ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅, ΡΡ Π΅ΠΌΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ JSON-ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ Π½Π°ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ° ΡΠΎΠ»Π΅ΠΉ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ JSON, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΠ»ΠΎΡΡ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 4. ΠΠ° ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΎ ΠΊΠ°ΠΊ Ρ ΠΏΠΎΠΌΠΎΡΡΡ JSON ΡΡ Π΅ΠΌΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠΏΠΈΡΠ°Π½ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ², ΡΠΎΡΡΠΎΡΡΠΈΠΉ ΠΈΠ· ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².
Π‘Ρ Π΅ΠΌΡ Π΄Π²ΡΡ Π΄ΡΡΠ³ΠΈΡ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠΎΠ² (ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡΠΈΠΉ ΠΈ ΡΠ΅ΡΡΡΡΠΎΠ²) ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΉ ΡΡΡΡΠΊΡΡΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½Ρ ΡΠΎ ΡΡ Π΅ΠΌΠΎΠΉ Π΄Π»Ρ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ° ΡΠΎΠ»Π΅ΠΉ, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π΅ Π±ΡΠ΄Ρ ΠΈΡ Π·Π΄Π΅ΡΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡ, Π° ΠΏΡΠΈΠ²Π΅Π΄Ρ ΡΡ Π΅ΠΌΡ, ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡΡΡ Π² ΡΠ΅Π±Π΅ Π²ΡΠ΅ 3 ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ°.
Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΡΡ Π΅ΠΌΠ° Π²ΡΠ΅Π³ΠΎ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ° ΠΏΡΠΈ ΡΠ°ΡΠΊΡΡΡΠΈΠΈ Π½Π΅ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΅Π΅ ΡΠ°ΡΡΡ.
Π ΠΈΡΡΠ½ΠΎΠΊ 10. ΠΡΠΈΠΌΠ΅Ρ JSON Schema ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ°, ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡΠ΅Π³ΠΎ Π² ΡΠ΅Π±Π΅ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ ΡΠΎΠ»Π΅ΠΉ, ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡΠΈΠΉ ΠΈ ΡΠ΅ΡΡΡΡΠΎΠ²
ΠΠ° ΡΠΈΡΡΠ½ΠΊΠ΅ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ ΡΠ°ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠΎΠ² ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° Β«anyOfΒ».
Π’Π°ΠΊΠΆΠ΅, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½Π°Π³Π»ΡΠ΄Π½Π΅Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±Π»ΠΈΡΠ½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ°.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΅ΡΠ΅ ΠΎΠ΄Π½Ρ Π²Π°ΠΆΠ½ΡΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ Π½Π°ΡΠ΅ΠΉ ΡΡ Π΅ΠΌΡ:
Π ΠΈΡΡΠ½ΠΎΠΊ 11. ΠΡΠΈΠΌΠ΅Ρ JSON Schema ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ°, ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡΠ΅Π³ΠΎ Π² ΡΠ΅Π±Π΅ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ ΡΠΎΠ»Π΅ΠΉ, ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡΠΈΠΉ ΠΈ ΡΠ΅ΡΡΡΡΠΎΠ² Π² ΡΠ°Π±Π»ΠΈΡΠ½ΠΎΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ
ΠΠ· ΡΠΈΡΡΠ½ΠΊΠ° ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡΠΈΠΉ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ Π½Π΅ Π΄ΡΠ±Π»ΠΈΡΡΠ΅Ρ Π² ΡΠ΅Π±Π΅ ΠΊΠΎΠ΄ ΠΈΠ· ΡΠ°Π½Π΅Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΡ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠΎΠ² ΡΠΎΠ»Π΅ΠΉ, ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡΠΈΠΉ ΠΈ ΡΠ΅ΡΡΡΡΠΎΠ², Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ «$ref».
Π‘ΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠΈ, ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΡΠ΅ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ , Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ, Π½ΠΎ, ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ, ΡΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΡΠΎΠ±Π»ΡΠ΄Π°ΡΡ, Π° ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡ Π² ΡΠ°Π·Π½ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡ , ΡΠΊΠ°Π·Π°Π² ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΠΏΡΡΡ ΠΊ Π½ΠΈΠΌ ΠΏΡΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ. ΠΠ°Π½Π½Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½Π°, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°Π½Π΅Π΅ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ ΡΡ Π΅ΠΌΡ, Π»ΠΈΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Ρ ΠΈΡ Π² Π½ΡΠΆΠ½ΡΠ΅ ΡΡΡΡΠΊΡΡΡΡ.
ΠΠ° ΡΡΠΎΠΌ ΠΌΠΎΠΉ ΠΎΠ±Π·ΠΎΡ JSON ΠΈ JSON Schema Ρ Π·Π°Π²Π΅ΡΡΠ°Ρ. ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π·Π΄Π΅ΡΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» ΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ, ΠΎΠΊΠ°ΠΆΡΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌΠΈ ΠΏΡΠΈ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ JSON SΡhema.
ΠΠΌΠ΅ΡΡΠΎ Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ
ΠΡΠΌΠ°Ρ, ΠΏΠΎΡΠ° ΠΏΠΎΠ΄Π²ΠΎΠ΄ΠΈΡΡ ΠΈΡΠΎΠ³ΠΈ. Π’Π°ΠΊ ΡΡΠΎ ΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ JSON Schema Π² ΠΈΡΠΎΠ³Π΅ Π½Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ Π΄Π°ΡΡ?
- ΠΠΎΠΆΠ΅Ρ ΡΠΏΡΠΎΡΡΠΈΡΡ ΠΆΠΈΠ·Π½Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΈ ΡΠ»ΡΡΡΠΈΡΡ ΠΊΠΎΠ΄ ΠΏΠΎ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ JSON -ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ.
ΠΠ½ΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΡΡΠΎ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΠΠ. - ΠΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠ΅ΡΠ²ΠΈΡΡ, ΠΏΡΠΎΡΠ°Π±Π°ΡΡΠ²Π°Ρ ΡΠΎΡΠΌΠ°ΡΡ ΠΈ ΡΠΎΡΡΠ°Π² Π΄Π°Π½Π½ΡΡ Ρ Β«Π·Π°Π΄Π΅Π»ΠΎΠΌΒ» Π½Π° Π±ΡΠ΄ΡΡΠ΅Π΅ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ.
- ΠΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ² Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ , ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΠ.
- JSON-Schema ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΌΠΎΡΡ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΡ Π²ΡΠ΅ΠΌΡ Π½Π° ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ API.
- Π£ΠΏΡΠΎΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ API.
- ΠΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ .
- ΠΠΈΠ±ΠΊΡΡ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ ΠΏΡΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ JSON Schema Π² run-time ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ Π² Β«enumΒ», ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌΡΠΌΠΈ Π½Π° ΡΡΠ°ΠΏΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠ° ΠΈΠ»ΠΈ workflow ΡΠΎ ΡΡΠ°ΡΡΡΠ°ΠΌΠΈ Π² Β«enumΒ» (ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΡ NtsDK ΠΈ VolCh). - JSON Schema ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½Π° ΠΏΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ DTO
(ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΡ amarkevich)
ΠΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π½Π°Ρ ΡΠ°ΠΌ ΡΠ΅ΡΠ°Π΅Ρ, Β«ΠΡΡΡ ΠΈΠ»ΠΈ Π½Π΅ Π±ΡΡΡ JSON SchemaΒ» Π² Π½Π°ΡΠΈΡ IT -ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ . ΠΡΡΠ΅ Ρ ΠΏΡΠΈΠ²Π΅Π»Π° ΡΠΏΠΈΡΠΎΠΊ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Ρ ΡΡΠΈΡΠ°Ρ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡ Π΅ΠΌ, ΠΈ ΡΠ°Π΄ΠΈ ΡΠ΅Π³ΠΎ ΡΠΆΠ΅ ΡΡΠΎΠΈΡ Π·Π°Π΄ΡΠΌΠ°ΡΡΡΡ ΠΎ Π΅Π΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ .
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΠΈΡΠ°ΡΠ΅Π»ΠΈ Π·Π°Ρ
ΠΎΡΡΡ ΠΏΠΎΠΌΠΎΡΡ ΠΌΠ½Π΅ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΡΡΠΎΡ ΡΠΏΠΈΡΠΎΠΊ?
Π― Π±ΡΠ΄Ρ ΠΏΡΠΈΠ·Π½Π°ΡΠ΅Π»ΡΠ½Π° π
Π’Π°ΠΊΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΡΡΠ»ΠΎΠΊ, Π½Π° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄, ΠΏΠΎΠ»Π΅Π·Π½ΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ JSON ΠΈ JSON Schema
- ΠΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΡΠ»ΠΎΠ² ΡΡ Π΅ΠΌΡ.
- ΠΡΡΠΎΡΠ½ΠΈΠΊ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΡΠΈΡΠ»ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΡΠ»ΠΎΠ² ΡΡ Π΅ΠΌΡ.
- ΠΡΠΈΡΠΈΠ°Π»ΡΠ½Π°Ρ ΡΡΡΠ°Π½ΠΈΡΠ° ΡΡΠ°Π½Π΄Π°ΡΡΠ° (Π΄ΡΠ°ΡΡΠ°).
- Π‘ΠΏΠΈΡΠΎΠΊ ΡΠ΅Π»ΠΈΠ·ΠΎΠ² (ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΠΈ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ°).
- ΠΠ½Π»Π°ΠΉΠ½-Π²Π°Π»ΠΈΠ΄Π°ΡΠΎΡ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ Π²ΡΠ±ΡΠ°ΡΡ Π½ΡΠΆΠ½ΡΡ Π²Π΅ΡΡΠΈΡ Π΄ΡΠ°ΡΡΠ° JSON-Schema.
- ΠΡΠΊΡΡΡΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ JSON Schema
- JSON Schema Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡΡΡ ΡΠ°ΠΌΠΈΠΌ Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΠΎΠΌ (ΠΏΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΎΡ alemiks), Π° ΡΠ°ΠΊΠΆΠ΅ Π°Π½Π°Π»ΠΎΠ³ΠΈ ΠΈΠ· ΠΌΠΈΡΠ° angular ngx-schema-form, AJSF (ΠΏΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΎΡ anotherpit).
Π ΡΡΡΠ»ΠΊΡ Π½Π° git-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ, ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΠΌΡΠΌΠΈ Π΄Π»Ρ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠ»Π΅Π½ΠΈΡ Π² Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅: ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ².
Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΠΎΡ,
Β© ΠΡΠΈΠ½Π° ΠΠ»Π°ΠΆΠΈΠ½Π°
ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² JSON
ΠΠ°ΡΡΠΈΠ²Ρ ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΡ JSON
ΠΡΠΈΠΌΠ΅Ρ
[
Β«Π€ΠΎΡΠ΄Β», Β«ΠΠΠΒ», Β«Π€ΠΈΠ°ΡΒ»]
ΠΠ°ΡΡΠΈΠ²Ρ Π² JSON ΠΏΠΎΡΡΠΈ ΡΠ°ΠΊΠΈΠ΅ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΌΠ°ΡΡΠΈΠ²Ρ Π² JavaScript.
Π JSON Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠΌΠ΅ΡΡ ΡΠΈΠΏ ΡΡΡΠΎΠΊΠ°, ΡΠΈΡΠ»ΠΎ, ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΌΠ°ΡΡΠΈΠ², Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΈΠ»ΠΈ null .
Π JavaScript Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²ΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π²ΡΡΠ΅, Π° ΡΠ°ΠΊΠΆΠ΅ Π»ΡΠ±ΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ JavaScript, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΠΈ, Π΄Π°ΡΡ ΠΈ undefined.
ΠΠ°ΡΡΠΈΠ²Ρ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ°Ρ JSON
ΠΠ°ΡΡΠΈΠ²Ρ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ°:
ΠΡΠΈΠΌΠ΅Ρ
{
«ΠΈΠΌΡ»: «ΠΠΆΠΎΠ½»,
«Π²ΠΎΠ·ΡΠ°ΡΡ»: 30,
«Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»ΠΈ»: [
Β«Π€ΠΎΡΠ΄Β», Β«ΠΠΠΒ», Β«Π€ΠΈΠ°ΡΒ»]
}
ΠΠΎΡΡΡΠΏ ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ ΠΌΠ°ΡΡΠΈΠ²Π°
ΠΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ Π΄ΠΎΡΡΡΠΏ ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ ΠΌΠ°ΡΡΠΈΠ²Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π½ΠΎΠΌΠ΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ°:
Π¦ΠΈΠΊΠ» ΠΏΠΎ ΠΌΠ°ΡΡΠΈΠ²Ρ
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ ΠΌΠ°ΡΡΠΈΠ²Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΈΠΊΠ» for-in :
ΠΠ»ΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ»ΠΈ
:
ΠΡΠΈΠΌΠ΅Ρ
Π΄Π»Ρ (Ρ
= 0; Ρ
+ = myObj.cars [Ρ];
}
ΠΠΎΠΏΡΠΎΠ±ΡΠΉ ΡΠ°ΠΌ »
ΠΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ°Ρ JSON
ΠΠ½Π°ΡΠ΅Π½ΠΈΡ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π΄ΡΡΠ³ΠΈΠΌ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π΄ΡΡΠ³ΠΈΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ JSON:
ΠΡΠΈΠΌΠ΅Ρ
myObj =
{
«ΠΈΠΌΡ»: «ΠΠΆΠΎΠ½»,
«Π²ΠΎΠ·ΡΠ°ΡΡ»: 30,
«cars»: [
{«name»: «Ford»,
Β«ΠΌΠΎΠ΄Π΅Π»ΠΈΒ»: [Β«Π€ΠΈΠ΅ΡΡΠ°Β», Β«Π€ΠΎΠΊΡΡΒ», Β«ΠΡΡΡΠ°Π½Π³Β»]},
{«name»: «BMW», «models»: [«320», «X3», «X5»]},
{«name»: «Fiat», «models»: [«500», «Panda»]}
]
}
ΠΠ»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌ Π²Π½ΡΡΡΠΈ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠΈΠΊΠ» for-in Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°:
ΠΡΠΈΠΌΠ΅Ρ
Π΄Π»Ρ (Ρ Π² myObj.cars) {
x + = «
» + myObj.cars [i] .name
+ «
«;
Π΄Π»Ρ (j Π² myObj.cars [i] .models) {
x + = myObj.cars [i] .models [j];
}
}
ΠΠΎΠΏΡΠΎΠ±ΡΠΉ ΡΠ°ΠΌ »
ΠΠ·ΠΌΠ΅Π½ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π°
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΉ Π½ΠΎΠΌΠ΅Ρ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π°:
Π£Π΄Π°Π»ΠΈΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ delete
Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²Π°:
.
ΠΡΠΈΠΌΠ΅Ρ JSON Ρ ΡΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ , Π²ΠΊΠ»ΡΡΠ°Ρ ΠΌΠ°ΡΡΠΈΠ² JSON
ΠΡΠΈΠΌΠ΅Ρ JSON
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Π±ΡΠ΄ΡΡ Π²ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ JSON, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡ Π²Π°ΡΡΠ²Π°ΡΡ Π²ΡΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ , ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ JSON. ΠΠΎΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ JSON.
ΠΠΎΠΏΡΡΡΠΈΠΌΡΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ JSON
- Π‘ΡΡΠΎΠΊΠ°
- ΠΠΎΠΌΠ΅Ρ
- ΠΠ±ΡΠ΅ΠΊΡ
- ΠΠ°ΡΡΠΈΠ²
- Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ
- ΠΡΠ»Π΅Π²ΠΎΠΉ
1. ΠΡΠΈΠΌΠ΅Ρ ΡΡΡΠΎΠΊΠΈ JSON:
{ "ΠΈΠΌΡ": "Π’ΠΎΠΌ", "lastname": "ΠΡΡΠΈΠ·", "ΠΏΡΠΎΡΠ΅ΡΡΠΈΡ": "ΠΠΊΡΠ΅Ρ" }
ΠΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ΅, ΠΈ Π²Ρ Π·Π½Π°Π΅ΡΠ΅ Π’ΠΎΠΌΠ° ΠΡΡΠ·Π°.ΠΡΠΈ Π΄Π°Π½Π½ΡΠ΅ JSON ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ Π΄Π΅ΡΠ°Π»ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΡΡΡΠΎΠΊΡ. ΠΠΎΠΈΠ³ΡΠ°ΠΉΡΠ΅ Ρ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ ΡΡΡΠΎΠΊΠΈ JSON. Π‘ΡΡΠΎΠΊΠ° Π² JSON Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π·Π°ΠΊΠ»ΡΡΠ΅Π½Π° Π² Π΄Π²ΠΎΠΉΠ½ΡΠ΅ ΠΊΠ°Π²ΡΡΠΊΠΈ.
2. ΠΡΠΈΠΌΠ΅Ρ Π½ΠΎΠΌΠ΅ΡΠ° JSON:
{ "id": 1, Β«Π²ΠΎΠ·ΡΠ°ΡΡΒ»: 56, Β«Π³ΠΎΠ΄ ΡΠΎΠΆΠ΄Π΅Π½ΠΈΡΒ»: 1963 Π³., Β«Π΄Π°ΡΠ°Β»: 3, Β«ΠΌΠ΅ΡΡΡΒ»: 7, Β«Π²Π΅ΡΒ»: 67,5 }
ΠΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΈΡΠ»Π°, ΠΈ Ρ Π΄ΠΎΠ±Π°Π²ΠΈΠ» Π΄Π°Π½Π½ΡΠ΅ ΠΎ Π΄Π½Π΅ ΡΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π’ΠΎΠΌΠ° ΠΡΡΠ·Π°. Π― Π΄ΠΎΠ±Π°Π²ΠΈΠ» ΡΡΠΎ Π² 2018 Π³ΠΎΠ΄Ρ. Π’Π°ΠΊ ΡΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΡΠΈΡΠ°ΡΡ, Π΅ΡΠ»ΠΈ ΡΠ΅ΠΉΡΠ°Ρ Π½Π΅ 2018. π ΠΠΎΠΈΠ³ΡΠ°ΠΉΡΠ΅ Ρ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ Π½ΠΎΠΌΠ΅ΡΠ° JSON.Π§ΠΈΡΠ»Π° Π² JSON Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ΅Π»ΡΠΌΠΈ ΠΈΠ»ΠΈ Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ.
3. ΠΡΠΈΠΌΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° JSON:
{ "Π°ΠΊΡΠ΅Ρ": { "name": "Π’ΠΎΠΌ ΠΡΡΠ·", Β«Π²ΠΎΠ·ΡΠ°ΡΡΒ»: 56, "Born At": "Π‘ΠΈΡΠ°ΠΊΡΠ·Ρ, ΡΡΠ°Ρ ΠΡΡ-ΠΠΎΡΠΊ", Β«ΠΠ°ΡΠ° ΡΠΎΠΆΠ΄Π΅Π½ΠΈΡΒ»: Β«3 ΠΈΡΠ»Ρ 1962 Π³ΠΎΠ΄Π°Β», "ΡΠΎΡΠΎ": "https://jsonformatter.org/img/tom-cruise.jpg" } }
ΠΡΠΈ Π΄Π°Π½Π½ΡΠ΅ JSON ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± Π°ΠΊΡΠ΅ΡΠ΅ ΠΈ Π΅Π³ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π°Ρ . ΠΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡ JSON, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΠ°Π·Π½ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°. ΠΠΎΠΈΠ³ΡΠ°ΠΉΡΠ΅ Ρ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ° JSON.
4. ΠΡΠΈΠΌΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ²Π° JSON
{ Β«ΠΠΊΡΠ΅ΡΡΒ»: [ { "name": "Π’ΠΎΠΌ ΠΡΡΠ·", Β«Π²ΠΎΠ·ΡΠ°ΡΡΒ»: 56, "Born At": "Π‘ΠΈΡΠ°ΠΊΡΠ·Ρ, ΡΡΠ°Ρ ΠΡΡ-ΠΠΎΡΠΊ", Β«ΠΠ°ΡΠ° ΡΠΎΠΆΠ΄Π΅Π½ΠΈΡΒ»: Β«3 ΠΈΡΠ»Ρ 1962 Π³ΠΎΠ΄Π°Β», "ΡΠΎΡΠΎ": "https://jsonformatter.org/img/tom-cruise.jpg" }, { "name": "Π ΠΎΠ±Π΅ΡΡ ΠΠ°ΡΠ½ΠΈ-ΠΌΠ»Π°Π΄ΡΠΈΠΉ", Β«Π²ΠΎΠ·ΡΠ°ΡΡΒ»: 53, "Born At": "ΠΡΡ-ΠΠΎΡΠΊ, ΡΡΠ°Ρ ΠΡΡ-ΠΠΎΡΠΊ", Β«ΠΠ°ΡΠ° ΡΠΎΠΆΠ΄Π΅Π½ΠΈΡΒ»: Β«4 Π°ΠΏΡΠ΅Π»Ρ 1965 Π³ΠΎΠ΄Π°Β», "ΡΠΎΡΠΎ": "https://jsonformatter.org/img/Robert-Downey-Jr.jpg " } ] }
ΠΡΠΎ ΠΌΠ°ΡΡΠΈΠ² Π΄Π°Π½Π½ΡΡ JSON. ΠΠ½ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π΄Π²Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ°-Π°ΠΊΡΠ΅ΡΠ°, ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°. ΠΠΎΠΈΠ³ΡΠ°ΠΉΡΠ΅ Ρ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π° JSON.
5. ΠΡΠΈΠΌΠ΅Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ JSON
{ "hasChildren": ΠΏΡΠ°Π²Π΄Π°, "hasTwitterAccount": ΠΏΡΠ°Π²Π΄Π°, "hasGreyHair": false }
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ JSON ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² JSON. ΠΠΎΠΈΠ³ΡΠ°ΠΉΡΠ΅ Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ JSON. ΠΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΈΡΡΠΈΠ½Π½ΡΠΌ ΠΈΠ»ΠΈ Π»ΠΎΠΆΠ½ΡΠΌ.
6. ΠΡΠΈΠΌΠ΅Ρ NULL JSON
{ "ΠΆΠ΅Π½Π°": Π½ΠΎΠ»Ρ }
JSON Null ΠΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ NULL Π² JSON.ΠΠΎΠΈΠ³ΡΠ°ΠΉΡΠ΅ Ρ JSON Null Example. Null ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠ΅.
Π― ΠΎΠ±ΡΡΡΠ½ΠΈΠ» Π²ΡΠ΅ ΡΠ΅ΡΡΡ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ JSON Π² ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΡ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ .
ΠΡΠΈΠΌΠ΅Ρ ΡΠΎ Π²ΡΠ΅ΠΌ ΡΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½ΡΡ JSON.
{ Β«ΠΠΊΡΠ΅ΡΡΒ»: [ { "name": "Π’ΠΎΠΌ ΠΡΡΠ·", Β«Π²ΠΎΠ·ΡΠ°ΡΡΒ»: 56, "Born At": "Π‘ΠΈΡΠ°ΠΊΡΠ·Ρ, ΡΡΠ°Ρ ΠΡΡ-ΠΠΎΡΠΊ", Β«ΠΠ°ΡΠ° ΡΠΎΠΆΠ΄Π΅Π½ΠΈΡΒ»: Β«3 ΠΈΡΠ»Ρ 1962 Π³ΠΎΠ΄Π°Β», "ΡΠΎΡΠΎ": "https://jsonformatter.org/img/tom-cruise.jpg", "ΠΆΠ΅Π½Π°": Π½ΠΎΠ»Ρ, Β«Π²Π΅ΡΒ»: 67.5, "hasChildren": ΠΏΡΠ°Π²Π΄Π°, "hasGreyHair": Π»ΠΎΠΆΡ, "Π΄Π΅ΡΠΈ": [ Β«Π‘ΡΡΠΈΒ», "ΠΠ·Π°Π±Π΅Π»Π»Π° ΠΠΆΠ΅ΠΉΠ½", "ΠΠΎΠ½Π½ΠΎΡ" ] }, { "name": "Π ΠΎΠ±Π΅ΡΡ ΠΠ°ΡΠ½ΠΈ-ΠΌΠ»Π°Π΄ΡΠΈΠΉ", Β«Π²ΠΎΠ·ΡΠ°ΡΡΒ»: 53, "Born At": "ΠΡΡ-ΠΠΎΡΠΊ, ΡΡΠ°Ρ ΠΡΡ-ΠΠΎΡΠΊ", Β«ΠΠ°ΡΠ° ΡΠΎΠΆΠ΄Π΅Π½ΠΈΡΒ»: Β«4 Π°ΠΏΡΠ΅Π»Ρ 1965 Π³ΠΎΠ΄Π°Β», "ΡΠΎΡΠΎ": "https://jsonformatter.org/img/Robert-Downey-Jr.jpg", "ΠΆΠ΅Π½Π°": "Π‘ΡΡΠ·Π°Π½ ΠΠ°ΡΠ½ΠΈ", Β«Π²Π΅ΡΒ»: 77,1, "hasChildren": ΠΏΡΠ°Π²Π΄Π°, "hasGreyHair": Π»ΠΎΠΆΡ, "Π΄Π΅ΡΠΈ": [ "ΠΠ½Π΄ΠΈΠΎ ΡΠΎΠΊΠΎΠ»ΡΠ½ΠΈΡΠΈΠΉ", "ΠΠ²ΡΠΈ Π ΠΎΡΠ»Ρ", "ΠΠΊΡΡΠΎΠ½ ΠΠ»ΠΈΠ°Ρ" ] } ] }
ΠΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ ΠΏΡΠΈΠΌΠ΅Ρ JSON ΡΠΎ Π²ΡΠ΅ΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ .
ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠ° ΡΡΠ°ΡΡΡ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² Π΄Π°Π½Π½ΡΡ JSON. ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ·Π½Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΎ JSON, ΠΏΡΠΎΡΡΠΈΡΠ΅ ΡΡΡ ΡΡΠ°ΡΡΡ. Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ JSON ?.
.
Π‘ΡΡΠ°Π½ΠΈΡΠ° Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π° Β· GitHub Pages
Π‘ΡΡΠ°Π½ΠΈΡΠ° Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π° Β· GitHub Pages
Π€Π°ΠΉΠ» Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½
Π‘Π°ΠΉΡ, Π½Π°ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΏΠΎ ΡΡΠΎΠΌΡ Π°Π΄ΡΠ΅ΡΡ, Π½Π΅
ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π·Π°ΠΏΡΠΎΡΠ΅Π½Π½ΡΠΉ ΡΠ°ΠΉΠ».
ΠΡΠ»ΠΈ ΡΡΠΎ Π²Π°Ρ ΡΠ°ΠΉΡ, ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΡΠ΅Π³ΠΈΡΡΡ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ URL-Π°Π΄ΡΠ΅ΡΡ.
ΠΠ»Ρ ΠΊΠΎΡΠ½Π΅Π²ΡΡ
URL (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, http://example.com/
) Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ
index.html
ΡΠ°ΠΉΠ».
ΠΡΠΎΡΡΠΈΡΠ΅ ΠΏΠΎΠ»Π½ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ
Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ GitHub Pages .
.
JavaScript ΠΈ ΠΌΠ°ΡΡΠΈΠ² JSON — qaru
ΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ°
- ΠΠΊΠΎΠ»ΠΎ
ΠΡΠΎΠ΄ΡΠΊΡΡ
- ΠΠ»Ρ ΠΊΠΎΠΌΠ°Π½Π΄
ΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ°
ΠΠ±ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΈ ΠΎΡΠ²Π΅ΡΡΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ° Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄
ΠΠ΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈ Π΄Π΅Π»ΡΡΡΡ ΡΠ°ΡΡΠ½ΡΠΌΠΈ Π·Π½Π°Π½ΠΈΡΠΌΠΈ Ρ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈΠΠ°ΠΊΠ°Π½ΡΠΈΠΈ
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π½ΠΈΠΌ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΊΠ°ΡΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΡΠ°Π’Π°Π»Π°Π½Ρ
ΠΠ°Π½ΠΈΠΌΠ°ΠΉΡΠ΅ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ² ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ²ΠΎΠΉ Π±ΡΠ΅Π½Π΄ ΡΠ°Π±ΠΎΡΠΎΠ΄Π°ΡΠ΅Π»ΡΠ Π΅ΠΊΠ»Π°ΠΌΠ°
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³Π°ΠΌ ΡΠΎ Π²ΡΠ΅Π³ΠΎ ΠΌΠΈΡΠ°- Π ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ
.