עבודה עם API json
-
תגובה: web api with json
אני נתקל הרבה פעמים בפרוייקטים שאני אמור להתממשק עם json . אשמח להסבר כללי איך ההגיון ואיך זה עובד. לא הצלחתי להבין מהמדריך כאן.
כלומר אם אני מבין נכון ה json זה רק הדרך לארוז את האובייקט, ואם זה נכון אז זה אומר שAPI אמור להכיר את השם של הjson שאני שולח, כלומר לקרוא לזה בשם שהם מכירים מה זה בשביל שידע לפתוח את זה ולקרוא את המשתנים שהם הביאו.
דבר נוסף ואיך שולחים את זה עם הפונקצייה fetch? ואיך בסוף המידע מתקבל וקוראים אותו.
תודה רבה.
לדוגמא ממדריך:3.1 Login API
Request Method
The Login API sends a request for the session creation in the system.Request Example: https://iot.hotmobile.co.il:8080/ipa/apis/json/general/login
Request Parameters
Element Type Presenc
e Annotation
Username string M The username of the user requesting to open the session.
Password string M The password of the user requesting to open the session.Response Method
LoginResponse is a response to a Login Request call.
The response includes an answer of success or failure to Login and open a session.• Successful Response Example
{
"result": "SUCCESS",
"message": null,
"userId": 22358,
"userType": "User",
"userGroupId": 22941,
"userLevel": "User"
} -
גיסון זה בסה"כ דרך מוסכמת להעביר מידע, כמו שיש XML כך יש תקן של ג'יסון, שזה אומר אובייקט שמכיל מפתחות וערכים, וכל מפתח יכול להכיל ערך של עוד מפתחות וערכים. זה בעצם ממש דומה לאובייקט JS מכאן השם JSON - Java script object notation.
בניגוד לXML הוא הרבה יותר קל, (קובץ גיסון שוקל הרבה פחות מקובץ XML. כמו כן, הוא הרבה יותר קריא וברור, וכיון שכל הקליינטים משתמשים בJS, ובJS מאד נח לעבוד איתו - הוא הפך להיות מאד מאד נפוץ בשימוש להעברת מידע בין משתמשים.עד כאן להקדמה הקצרה.
מכאן נסיק שהשרת כלל לא משנה לו מה השם של האובייקט שאתה קורא לגיסון שלך, מה שמשנה זה המבנה של הגייסון.
למשל בדוגמא שהבאת אתה צריך לשלוח לAPI שלך שם משתמש וסיסמה, ואז אתה מקבל בחזרה תשובה במבנה של אובייקט, שמכיל כמה מפתחות (או מאפיינים):
הראשון הוא result שהוא מכיל את הערך SUCCESS במקרה של הצלחה, או משהו אחר אם זה נכשל.
השני message שמכיל את ההודעה וכן על זה הדרך.
אם מפתח מכיל ערך של אובייקט, אז הוא יכיל ערך שנפתח ונסגר בסוגריים מסולסלים {}, כמו שמתארים אובייקט בJS.
אם הוא מכיל מערך, אז הוא יכיל ערך שנפתח ונסגר בסוגריים מרובעים [] כמו שמתארים מערך בJS.נקודה חשובה, גייסון תקני לא יכול להכיל הערות, וכן כל מאפיין חייב להיות מוקף בגרשיים.
מקוה שעזרתי