JSON – הבדלי גרסאות

מתוך ויקיפדיה, האנציקלופדיה החופשית
תוכן שנמחק תוכן שנוסף
שמעיה (שיחה | תרומות)
אין תקציר עריכה
תגית: הוספת תבנית לשינויים בערך
מאין תקציר עריכה
שורה 3: שורה 3:
פורמט JSON פותח במקור על ידי [[דאגלס קרוקפורד]], וכיום מתואר על ידי שני [[תקן|תקנים]] שונים, [[rfc:7159|RFC 7159]] ו-ECMA-404. המזהה הרשמי של [[Internet media type|סוג מדיה]] זו הוא <code>application/json</code>. קבצים בפורמט זה הם בעלי סיומת ‎<code>.json</code>{{כ}}.
פורמט JSON פותח במקור על ידי [[דאגלס קרוקפורד]], וכיום מתואר על ידי שני [[תקן|תקנים]] שונים, [[rfc:7159|RFC 7159]] ו-ECMA-404. המזהה הרשמי של [[Internet media type|סוג מדיה]] זו הוא <code>application/json</code>. קבצים בפורמט זה הם בעלי סיומת ‎<code>.json</code>{{כ}}.


אף על פי שפורמט זה פותח בתחילה לשימוש ב-[[Javascript]] ונעשה בו שימוש נרחב בשפה זו, JSON הינו מבנה נתונים לא תלוי שפה, ותמיכה מוכנה בהמרה לפורמט JSON קיימת במגוון שפות תכנות.
אף על פי שפורמט זה פותח בתחילה לשימוש ב-[[Javascript]] ונעשה בו שימוש נרחב בשפה זו, JSON הוא מבנה נתונים לא תלוי שפה, ותמיכה מוכנה בהמרה לפורמט JSON קיימת במגוון שפות תכנות.


בדצמבר 2005 [[Yahoo!]]‎ החלה להציע את [[Web service|שירותי הרשת]] שלה גם בפורמט JSON. שנה לאחר מכן הציעה [[גוגל (חברה)|Google]] עדכוני JSON עבור פרוטוקול [[GData]].
בדצמבר 2005 [[Yahoo!]]‎ החלה להציע את [[Web service|שירותי הרשת]] שלה גם בפורמט JSON. שנה לאחר מכן הציעה [[גוגל (חברה)|Google]] עדכוני JSON עבור פרוטוקול [[GData]].


פורמט נפוץ אחר להודעות בין שירותים הוא [[XML]]. פורמט JSON ניתן לפענוח בצורה טבעית ב-Javascript, הוא בדרך כלל קצר יותר ומאפשר שימוש במערכים.
== השוואה ל XML ==
{{לשכתב|פסקה=כן}}
יתרון מרכזי של JSON על XML הוא ש XML חייב להיות מפוענח על ידי XML parser בעוד ש JSON ניתן לפענוח גם על ידי פונקציות Javascript.

=== דומה ל XML ===
* שניהם משתמשים בטקסט פשוט (plain text)
* שניהם מגדירים את עצמם (human readable)
* ניתנים לגישה על ידי [[HttpRequest]]

=== שונה מ XML ===
* JSON לא דורש tag לסיומו.
* JSON קצר יותר
* JSON קל יותר לקריאה וכתיבה
* JSON מאפשר שימוש במערכים


== דוגמה ==
== דוגמה ==

גרסה מ־00:26, 5 באוגוסט 2015

JSON (ראשי תיבות של JavaScript Object Notation) הוא פורמט טקסטואלי, הקריא לאדם, המיועד להעברת מבני מידע המורכבים מזוגות של מפתח-ערך. השימוש העיקרי של הפורמט הוא להעברת מידע בין שרת לצרכן כתחליף לפורמט XML.

פורמט JSON פותח במקור על ידי דאגלס קרוקפורד, וכיום מתואר על ידי שני תקנים שונים, RFC 7159 ו-ECMA-404. המזהה הרשמי של סוג מדיה זו הוא application/json. קבצים בפורמט זה הם בעלי סיומת ‎.json‏.

אף על פי שפורמט זה פותח בתחילה לשימוש ב-Javascript ונעשה בו שימוש נרחב בשפה זו, JSON הוא מבנה נתונים לא תלוי שפה, ותמיכה מוכנה בהמרה לפורמט JSON קיימת במגוון שפות תכנות.

בדצמבר 2005 Yahoo!‎ החלה להציע את שירותי הרשת שלה גם בפורמט JSON. שנה לאחר מכן הציעה Google עדכוני JSON עבור פרוטוקול GData.

פורמט נפוץ אחר להודעות בין שירותים הוא XML. פורמט JSON ניתן לפענוח בצורה טבעית ב-Javascript, הוא בדרך כלל קצר יותר ומאפשר שימוש במערכים.

דוגמה

להלן דוגמה לייצוג של אובייקט המתאר אדם בפורמט JSON.

{
     firstName: "יעקב",
     lastName: "ישראלי",
     address: {
         streetAddress: "רחוב המשעול, 13",
         city: "ירושלים",
         state: "ישראל",
         postalCode: 10021
     },
     phoneNumbers: [
         "212 555-1234",
         "646 555-4567"
     ]
 }

JSONP

JSONP (ראשי תיבות של JavaScript Object Notation with Padding) הוא שיטה להעברת מסמכי JSON בין אתרים בעלי כתובות אינטרנט שונות. כיוון שמנגנוני אבטחה בדפדפנים מגבילים העברת מסמכים בין אתרים (same-origin policy), מסמכי JSON כפי שהם אינם ניתנים להעברה. כדי לאפשר לאתרים אחרים לגשת לאובייקט JSON, המסמך יישמר בפורמט .jsonp, כאשר המידע במסמך נעטף בשם של פונקציית JavaScript הקיימת בדף האינטרנט שממנו טוענים את מסמך ה-JSONP, ובכך מהווה פרמטר של הפונקציה. בעת הטעינה, הפונקציה תופעל, ותוכל לגשת אל אובייקט ה-JSON דרך הפרמטרים שלה. להלן דוגמה למבנה מסמך JSONP:

fooBar({
	firstName: "יעקב",
	lastName: "ישראלי",
	address: {
		streetAddress: "רחוב המשעול, 13",
		city: "ירושלים",
		state: "ישראל",
		postalCode: 10021
	},
	phoneNumbers: [
		"212 555-1234",
		"646 555-4567"
	]
});

בדוגמה שלמעלה, fooBar הוא שם הפונקציה שאליה מסמך ה-JSONP יקרא, והמידע המועבר זהה לאובייקט ה-JSON שהוצג בדוגמה הראשונה. דוגמה לפונקציה fooBar:

function fooBar(param) {
	alert("שם פרטי: " + param.firstName + "\nשם משפחה: " + param.lastName);
}

בדוגמה למעלה, בעת טעינת מסמך ה-JSONP, הפונקציה fooBar תציג הודעה עם הטקסט הבא: "שם פרטי: יעקב. שם משפחה: ישראלי". שם הפונקציה במסמך ה-JSONP יכול להיות סטטי- כלומר, שם פונקציה קבוע שיש לשמור למסמך הספציפי, אך גם אפשרי ליצור שם דינמי לפונקציה, למשל, כאשר לכתובת ה-URL של מסמך ה-JSONP מוסיפים פרמטרים נוספים, בהתאם להוראות האתר שבו נמצא המסמך הרצוי.

ראו גם

קישורים חיצוניים

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