json logo

היכרות עם JSON


العربية Български 中文 Český Dansk Nederlands English Esperanto Français Deutsch Ελληνικά עברית Magyar Indonesia
Italiano 日本 한국어 فارسی Polski Português Română Русский Српско-хрватски Slovenščina Español Svenska Türkçe Tiếng Việt

ECMA-404 The JSON Data Interchange Standard.

object
{}
{ members }
members
pair
pair , members
pair
string : value
array
[]
[ elements ]
elements
value
value , elements
value
string
number
object
array
true
false
null

string
""
" chars "
chars
char
char chars
char
any-Unicode-character-
    except-"-or-\-or-
    control-character
\"
\\
\/
\b
\f
\n
\r
\t
\u four-hex-digits
number
int
int frac
int exp
int frac exp
int
digit
digit1-9 digits
- digit
- digit1-9 digits
frac
. digits
exp
e digits
digits
digit
digit digits
e
e
e+
e-
E
E+
E-

JSON ‏(‎JavaScript Object Notation - ציון אובייקטים ב-JavaScript) הינו מבנה קל משקל להחלפת מידע, קל עבור בני אנוש לקרוא ולכתוב, קל לפינוח ע"י מכונות. הוא מבוסס על תת-מערכת של שפת התכנות Javascript, סטנדרט ה-ECMA-262 גרסא שלישית - דצמבר 1999. JSON הינו מבנה כתב חופשי לחלוטין משפה, אבל משתמש במוסכמות אשר מוכרת לתכנתים של משפחת שפות C, הכוללת את C, C++, C#, Java, Javascript, Perl, Python ועוד רבים נוספים. תכונות אלו עושות את JSON לשפה אידיאלית עבור החלפת מידע.

JSON בנוי על שני מבנים:

אלו הם מבני מידע אונברסליים. למעשה כל שפות התכנות המודרניות תומכות בהם בצורה זו או אחרת. זה הגיוני שמבנה מידע, שהינו בר החלפה עם שפות תכנות, יהיה מבוסס על מבנים אלו.

ב-JSON הם באים לידי ביטוי כך:

אובייקט הוא קבוצה לא מסודרת של זוגות שם/ערך. אובייקט מתחיל עם { (סוגריים מסולסלים שמאליים) ומסתיים עם } (סוגריים מסולסלים ימניים). לאחר שם מופיעים : (נקודותיים) שלאחריהם הערך, כאשר כל זוג של שם/ערך מופרד ע"י , (פסיק).

מערך הינו אוסף מסודר של ערכים. מערך מתחיל עם [ (סוגריים רבועיים שמאליים) ומסתיים עם ] (סוגריים רבועיים ימניים). הערכים מופרדים ע"י , (פסיק).

ערך יכול להיות מחרוזת במרכאות כפולות, או מספר, או true או false או null, או אובייקט או מערך. מבנים אלו יכולים להיות מקוננים (Nested).

מחרוזת היא אוסף של תווי יוניקוד (בעלי אורך של אפס או יותר תווים), אשר עטופים במרכאות כפולות, התו \ (לוכסן אחורי) מבטל את התווים הללו. תו מיוצג ע"י מחרוזת בעלת תו אחד. מחרוזת דומה מאוד למחרוזת של שפת C או Java.

מספר דומה מאוד למספר של שפת C או Java, מלבד שהמבנה האוקטלי וההקסדצימלי אינם בשימוש.

סימן "לבן" (Whitespace) יכול להיות מוכנס בין כל זוג סמלים. מלבד מספר פרטי קידוד, הייחודיים לשפה.