מחשביםתכנות

פורמט JSON: תיאור, לדוגמה

משתנה, מערכים, וחפצים - צורה מוכרת ונוחה של מצגת נתונים. תאר את הנתונים נלקחו בדפדפן ב- JavaScript, אשר לא לשרת PHP שפה בהכרח. פורמט JSON מאפשר לך לקמפל אותם לתוך כל אחד, ולא להתמקד בשפת התכנות. הנתונים מומרים זוג "שם = ערך". הערך של כל אחת מהן עשויה גם להיות אוסף של זוגות אלה.

JSON מאומץ הקשורים כתפיות וחפצי JavaScript. זו האחרונה היא די מוצדקת, שכן JSON = בפורמט JavaScript סימון אובייקט. בשנים האחרונות, ובמיוחד דינמיים, הרבה השתנה. זה נוצר למטרה מסוימת, לעתים קרובות מביא תוצאות בלתי צפויות ופתח אופקים חדשים.

חילופי נתונים: הדפדפן - שרת

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

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

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

השימוש באלפבית קירילי במשתנים שמות - תופעה מאוד לא צפוי (שטויות), אבל זה עובד בגרסאות האחרונות של כרום, פיירפוקס, ואפילו, ב- Internet Explorer 11.

קירילי ו JSON

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

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

לא משנה איזה סוג של הייתה חדשנות תחבירית בסיס - JSON, חשוב כי זה נתן זכות משפטית הזדמנות אמיתית לשים את הקו: "כל שם = ערך כלשהו."

אנחנו חייבים לחלוק כבוד שפת JavaScript: מספק תחביר אינו מחייב את היזם והוא אינו כופה דבר. Developer משתמשת בתחביר שפה בחופשיות על היווצרות אופטימלית של מודל הנתונים והאלגוריתם הם משתמשים.

PHP ו- JSON

אם ניקח נתונים בפורמט JSON, שרת (באמצעות PHP, בפרט) המאפשר להם להתמודד כפי שהוא ולהחזיר את התוצאה בחזרה לדפדפן באותה מתכונת. PHP מערך מקור:

  • $ CJSON = array ( "a" => "אלפא", "B" => "בטא", "G" => "גמא").

המרת פורמט JSON לשידור לדפדפן:

  • $ CJs = json_encode ($ cJSON) .

תוצאה:

  • { "A": "אלפא" , "b": "ביתא", "G": "גמא"}.

מותרת מוצג קינון תמונה.

כאן נוצר על ידי המערך נוסף אלמנט חדש "לעצמו" עם מדד אוטומטי "0", ולאחר מכן שוב עם מדד "z" זה.

פונקציה הפוכה - json_decode () ממירה מחרוזת JSON לתוך מערך PHP. תוצאות דומות ניתן להשיג על ידי מניפולציה של פונקציות PHP: לקרוס () ו להתפוצץ (). במקרים מסוימים, אפשרות זו עדיפה.

רמת קינון

האלמנטים ניתן קיננו אחד את השני כצד דפדפן או בצד השרת. בתבנית JSON בפועל (RFC תיאור 4627 סטנדרטי) מספק באופן משמעותי יותר מאשר 4 רמות של קינון, אבל לא צריך להתעלל אפשרות זו.

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

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

קבצי JSON

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

מפעלי מדינה בפורמט JSON: דוגמא

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

אם החברה מעסיקה מספר אנשים - זה דבר אחד, אבל אם עשרות אלף - זה דבר אחר לגמרי. אתה יכול להמשיך להשתמש במסד הנתונים, אך שמירה על אותה בקובץ נראה יותר מעשי יותר זול להשתמש.

קובץ JSON בפורמט - קובץ טקסט רגיל. המקרה עם האיוש, בסדר. קראו אותו הוא תמיד אפשרי. פתח לשינוי זמין גם בכל עורך טקסט אין את הרגל כדי להוסיף מידע קנייני שלהם בתוכן הקובץ. באופן כללי, * .json - זה טקסט טהור בתוך הדפדפן, ובתוך הקובץ - מחרוזת.

התמונה מציגה אובייקט מטמון, להרכיב דוגמא לתמונה.

זוהי דוגמה של אתרי תוכן שנוצר קובץ מציע נפח הדפסה בצבע על ספלים וקרמיקה. כמובן, להחליט עם בפורמט JSON אתה פותח אותו, באמת בעייתי. עם זאת, במקרים אלה ובעיות דומות, בעיות עם קריאת קובץ מתעוררות: PHP קורא את הקובץ, מנתח אותו ושולח לדפדפן. נתונים מבקרים הוא שינה חזרו לשרת ונכתבו בחזרה.

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

JSON משמש לעיתים קרובות עבור אחסון ושימוש במידע סודי - לא אייש, אין צורך לראות גם את היזם או המבקר באתר.

XML ו JSON

"כל דבר בעתו" - ידע קלסי, מובן מאליו עוד לפני תכנות. "לא, כי אין פשוט" - זה היה גם לפני אנשים כתבו את תכנית המובנים הראשונה בשפה מלאכותית.

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

XML להפליא להתמודד עם המשימות שלהם להיכנס להיסטוריה הוא בבירור לא הולך. JSON שימש עד 2006, רק לא כל מפתח החשיב זאת חובתו להצהיר אפשרויות מסוימות להציג את הנתונים שלהם.

היו מקרים בפועל כאשר BASIC נכתב תוכניות לא להשתמש JSON ככזה, אבל בצורה מושלמת לאחסון זוגות "name = ערך" ולהפוך אותם לזמינים כדי להתאים אלגוריתמים בזמן הנכון.

תווים מיוחדים ( «'», «~», «|», ...) ו פורמטים נתונים

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

פונקציות להצטרף / פיצול שפת JavaScript ו- implode / להתפוצץ שפת PHP מאפשרת נוחה ויעילה לשימוש לפורמט נתוני XML, JSON, וגרסה משלו. זו האחרונה היא לעתים קרובות אופטימלי, והשניים הראשונים הם אידיאליים עבור אפשרויות השימוש הכללית. אם זה להעברת מידע למפתח אחר, לשרת, לקובץ או מסד נתונים, XML ו JSON עדיף לא למצוא. כולם עובדים, כי שידור / קליטה של מידע לא צריך הערות.

באמצעות JSON ב Android

נתונים קריאה וכתיבה בפורמט JSON ב אנדרואיד - לא רק הנורמה של דברים, אלא גם קבוצה של אובייקטים, אוריינטציה לעבוד עם פורמט נתונים כאלה.

רבים מייחסים את ההצלחה הפנומנלית של אתרי רשתות חברתיים, כך לחברים ולמבקרים של אתרים אלה (פייסבוק, לינקדאין, טוויטר, ...) יתרון מהחומרים שפורסמו שם.

היא משתמשת בו כדי JSON. אולי זה נכון, אבל השאלה היא לא ברשתות החברתיות פנומנלי, אבל העובדה כי אכן מתן המידע במתכונת של "name = ערך" נוחה תכנות, וכן לשימוש. בניגוד «XML» הקפדן ומורכב זה באמת פורמט אדם ידידותי.

מערכים אסוציאטיביים

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

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

הדבר נכון במיוחד עובדה בולטת ב- PHP, אבל זה יכול להיות נסבל, כמו, אכן, עם הסמל "$" לשם משתנה ושילוב של "זה- $>" בתוך האובייקט. במקביל תכנות ב- JavaScript ו- PHP, ראשון ממש נדהם איך הכל שונה, אבל אז הכל הופך להיות כל כך מוכר וטבעי ...

מערך אסוציאטיבי -> JSON

בדוגמא זו, על ידי ספריית PHPOffice / PHPWord יוצר מסמך * .docx, ואת המערה של aProperties מכיל את מאפייני המסמך (מחבר, חברה, כותרת, קטגוריה, תאריך, ...).

המערך השני מכיל את הנתונים בדף:

  • אורינטציה (לרוחב או רגיל);
  • ממדים אופקיים ואנכי;
  • כניסות (שדה שמאל, למעלה, למטה, ימינה);
  • תחתון.

גיבוש המסמך נעשה בשרת שבו פועל ספריית PHPOffice / PHPWord. האתר מספק ערכי בניהול מערכים אלה באמצעות JavaScript. התוצאה מוחזרת JSON בחזרה לשרת והוא ממשמש האלגוריתמים ב- PHP, בעיצובים שלו, כי הוא המערכים.

משתנה דינמי

פורמט JSON פותר את הבעיה של משתנים דינמיים. כאן אתה יכול ליצור, לשנות ולמחוק משתנה בלי ערימות תחביריות מיותרות. זה נראה יפה משמש JavaScript.

בדוגמא זו GetOjInfo () בוחרת את שמו של הערך והחשיבות של האובייקט. בתחילה אובייקט JSON-מחרוזת מוקצה משתנה ojInfo, יש לו שלושה מרכיבים: שם, גיל ועבודה. מעט מאוחר יותר הוסיף מעמדם המשתנה.

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

פורמט JSON על אופציה כזו לא תוכנן, אבל זה אפשרי, מעשי ונוח.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 iw.delachieve.com. Theme powered by WordPress.