اذهب إلى المحتوى

السؤال

Recommended Posts

  • 2
نشر

مرحبًا @Hafsa Aly،

ترمز JSON إلى JavaScript Object Notation

JSON هو تنسيق خفيف الوزن لتخزين البيانات ونقلها، غالبًا ما يتم استخدام JSON عند إرسال البيانات من خادم إلى صفحة ويب.

تحمل JSON بيانات تسهل ترجمتها من قبل المتصفح وتأخذ هذه البيانات من قواعد البيانات وترتبها بترتيب سهل يمكن من خلال إستخدام أكواد بسيطة الوصول إلى أي معلومة في البيانات. كما أنه عند تبادل البيانات بين المتصفح والخادم ، يمكن أن تكون البيانات نصية فقط. JSON عبارة عن نص ، ويمكننا تحويل أي كائن JavaScript إلى JSON وإرسال JSON إلى الخادم. يمكننا أيضًا تحويل أي JSON تم استلامه من الخادم إلى كائنات JavaScript.

بهذه الطريقة يمكننا العمل مع البيانات ككائنات JavaScript ، بدون تحليل وترجمات معقدة.

مثال على ذلك، شركة تملك ثلاث موظفين

{
"employees":[
    {"firstName":"أحمد", "lastName":"محمد"},
    {"firstName":"عمر", "lastName":"بيك"},
    {"firstName":"عبد الله", "lastName":"مصطفى"}
]
}

يمكنك الوصول إلى أي أسم أي موظف أو لقبه بسهولة من خلال كود JSON

  • 1
نشر

JSON أو JavaScript Object Symation هي صيغة بسيطة وقابلة للقراءة بسهولة من قبل الإنسان ويتم استخدامها لتمثيل البيانات و تبادلها بين الأنظمة البرمجية المختلفة وهي  ليست لغة برمجية إنما هي طريقة متفق عليها بين لغات البرمجة المختلفة لتمثيل البيانات بهدف سهولة تبادل البيانات بين هذه اللغات , يتم تمثيلها عن طريق نص  ، والبنية لهذا النص تشبه الكائن أو Object في لغة البرمجة جافا سكربت, وهذه الصيغة مدعومة من لغات البرمجة الأساسية الأخرى وتستخدم هذه الصيغة بشكل كبير لتبادل البيانات بين الخادم والعميل Client-Server.

يتم تمثيل البيانات  في json من خلال المفاتيح Keys والقيم Values وهما الجزءان الأساسيان اللذان يشكلان JSON  : 

  • المفتاح Key : يمثل اسم  مميز وفريد لقيمة البيانات ويتم وضعه عادة بين علامات التنصيص
  • القيمة Value : تمثل البيانات ويمكن أن تمثل اكثر من نوع بيانات مثل النصوص والأرقام والمصفوفات قيم true أو false.

 يشكل Key / Value سطر في صيغة جيسون حيث يتم استخدام علامة , كفاصل بين السطور.

{"menu": {
  "id": "file",
  "value": "File"
  }
 }
  

أنواع البيانات للقيم في JSON

  • Array المصفوفة: مجموعة من القيم المترابطة على سبيل المثال: 
{family : [{
    "name" : "Jason",
    "age" : "24",
    "gender" : "male"
},
{
    "name" : "Kyle",
    "age" : "21",
    "gender" : "male"
}],
}
  • Boolean قيمة منطقية: ولها احتمالان True او False.
  • Number رقم: تكون القيمة عبارة عدد صحيحا أو حقيقيا أو فواصل عشرية.
  • String السلسلة النصية: مجموعة من الأحرف النصية العادية تشكل عادة كلمة.
  • 0
نشر

JSON هو اختصار لـ JavaScript Object Notation ، وهو وسيلة لتخزين المعلومات بطريقة منظمة وسهلة الوصول. باختصار ، يمنحنا ذلك مجموعة من البيانات التي يمكن للبشر قراءتها والتي يمكننا الوصول إليها بطريقة منطقية.
تخزين بيانات JSON: كمثال بسيط ، يمكن كتابة المعلومات الخاصة في JSON على النحو التالي:

var my_info = {
	"age" : "22",
	"name" : "محمد أبو عواد",
	"gender" : "male"
};

يؤدي هذا إلى إنشاء كائن يمكننا الوصول إليه باستخدام المتغير my_info. بإحاطة قيمة المتغير بأقواس معقوفة ، فإننا نشير إلى أن القيمة هي كائن. داخل الكائن ، يمكننا التصريح عن أي عدد من الخصائص باستخدام اقتران "name": "value" ، مفصولة بفواصل. للوصول إلى المعلومات المخزنة في my_info، يمكننا ببساطة الرجوع إلى اسم الخاصية التي نحتاجها. على سبيل المثال ، للوصول إلى معلومات عني ، يمكننا استخدام المقتطفات التالية:

document.write('moahmmed is ' my_info.age); // Output: moahmmed is 24
document.write('moahmmed is a ' my_info.gender); // Output: moahmmed is a male

تخزين بيانات JSON في المصفوفات
يتضمن المثال الأكثر تعقيدًا تخزين شخصين في متغير واحد. للقيام بذلك ، نضع كائنات متعددة بين أقواس مربعة ، مما يدل على مصفوفة. على سبيل المثال ، إذا كنت بحاجة إلى تضمين معلومات عني وعن أخي في متغير واحد ، فيمكنني استخدام ما يلي:

var family = [{
    "name" : "mohammed",
    "age" : "22",
    "gender" : "male"
},
{
    "name" : "osama",
    "age" : "16",
    "gender" : "male"
}];

للوصول إلى هذه المعلومات ، نحتاج إلى الوصول إلى فهرس مصفوفة الشخص الذي نرغب في الوصول إليه. على سبيل المثال ، سنستخدم المقتطف التالي للوصول إلى المعلومات المخزنة في العائلة:

document.write(family[1].name); // Output: osama
document.write(family[0].age); // Output: 22

يعد هذا مفيدًا إذا كان من الضروري إجراء حلقة من خلال المعلومات المخزنة ، حيث أنه يفسح المجال لحلقة for ذات قيمة متزايدة تلقائيًا.
تداخل بيانات JSON: هناك طريقة أخرى لتخزين عدة أشخاص في متغير واحد وهي تداخل الكائنات. للقيام بذلك ، سننشئ شيئًا مشابهًا لما يلي:

var family = {
    "mohammed" : {
        "name" : "mohammed",
        "age" : "22",
        "gender" : "male"
    },
    "osama" : {
        "name" : "osama",
        "age" : "16",
        "gender" : "male"
    }
}

الوصول إلى المعلومات في الكائنات المتداخلة أسهل قليلاً في الفهم ؛ للوصول إلى المعلومات الموجودة في الكائن ، سنستخدم المقتطف التالي:

document.write(family.osama.name); // Output: osama
document.write(family.mohammed.age); // Output: 22
document.write(family.osama.gender); // Output: male

 

  • 0
نشر

ال json هي اختصار ل javascript object notation

و بتستخدم لتخزين وتبادل البيانات بين السيرفر والمتصفح او السيرفر وتطبيقات الهاتف 

طريقة كتابتها هي نفس طريقة كتابة ال objects في الجافا سكربت

let data = { "name": "ahmed abubaker", "age": 23, "city": "Khartoum" }

البيانات التي يتم تبادلها بين السيرفر والمتصفح تكون عباره عن نصوص والjson عندما يتم تبادلها تكون عبارة عن نص .

يتم بعدها معالجة النص وتحويله الى json لاستخراج البيانات التي بداخله. 

بالطريقة دي

var myObj = JSON.parse(myJSON);

بعد كده بنقدر نصل للبيانات الموجودة بداخل الjson عن طريق المتغير myObj بالطريقة التالية:

let name =  myObj.name;
let age  =  myObj.age; 

طيب خلينا نتكلم عن طريقة كتابة الjson 

في قاعدتين مهمات لازم تعرفهم في البدء

1- الjson عبارة عن key وهو زي الage,name في المثال الفوق و value ودي زي قيمة الage,name في المثال الفوق وبتكون بالشكل ده key:value.

2-لازم بعد كل key:value تعمل فاصلة "," تفصل بينهم وبين القيم الجاية لو في قيم جاية اما لو مافي فماف داعي للفاصلة.

بعد كده نجي لأنواع القيم اللي ممكن انها تخزن في الjson :

1-الارقام :

let data = {"age":23};

2-النصوص:

let data = {"name":"ahmed abubaker"};

3-الjson اوبجكت:

let data = {"address":{"country":"sudan","city":"khartoum"}};

4-المصفوفات:

let data = {"countries":["sudan","egypt","oman"]};

5-القيم المنطقية (true,false):

let data = {"isOdd":true,"isEven":false};

لو عندك اي سؤال او محتاج اي مساعدة انا يشرفني اني اساعدك

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...