برنامج تعليمي حول JSON: تعلم من خلال مثال بسيط
⚡ ملخص ذكي
JSON، اختصار لـ Javaتدوين كائنات البرمجة النصية (Script Object Notation) هو تنسيق خفيف الوزن وسهل القراءة لتخزين وتبادل البيانات المنظمة بين الخوادم والتطبيقات. يشرح هذا المورد تركيبه النحوي، وأنواع بياناته، وتطبيقاته العملية، والاختلافات التي تميزه عن لغة XML.

ما هو JSON؟
JSON هو تنسيق ملف يستخدم لتخزين المعلومات بطريقة منظمة وسهلة الوصول إليها. شكله الكامل هو Javaتدوين كائنات البرنامج النصي. يوفر مجموعة من البيانات التي يمكن قراءتها بواسطة الإنسان والتي يمكن الوصول إليها منطقيًا. امتداد اسم الملف الخاص به لرمز البرمجة المكتوبة هو .json. نوع وسائط الإنترنت لـ JSON هو application/json، ومعرف النوع الموحد الخاص به هو public.json.
والآن بعد أن أصبح التعريف واضحاً، يشرح القسم التالي سبب اختيار المطورين لـ JSON بدلاً من تنسيقات البيانات الأخرى.
لماذا استخدام جسون؟
فيما يلي الفوائد/الإيجابيات المهمة لاستخدام JSON:
- تقديم الدعم لجميع المتصفحات
- سهلة القراءة والكتابة
- بناء جملة واضح
- يمكنك التحليل أصلاً Javaنص برمجي باستخدام دالة eval()
- من السهل إنشاء والتلاعب
- بدعم من جميع الكبرى Javaأطر النصوص
- مدعومة بمعظم التقنيات الخلفية
- يتم التعرف على JSON أصلاً بواسطة Javaسيناريو
- انها تسمح لك transmit وتسلسل البيانات المهيكلة باستخدام اتصال الشبكة.
- يمكنك استخدامه مع لغات البرمجة الحديثة.
- JSON هو نص يمكن تحويله إلى أي كائن Javaقم بتحويل النص إلى JSON وأرسل هذا JSON إلى الخادم.
تاريخ جيسون

فيما يلي المعالم المهمة التي تشكل تاريخ JSON:
- حدد دوغلاس كروكفورد تنسيق JSON في أوائل العقد الأول من القرن الحادي والعشرين.
- تم إطلاق الموقع الرسمي في عام 2002.
- في ديسمبر 2005، قامت شركة ياهو! تبدأ في تقديم بعض خدمات الويب الخاصة بها بتنسيق JSON.
- أصبح JSON معيارًا دوليًا لـ ECMA في عام 2013.
- تم نشر أحدث معايير تنسيق JSON في عام 2017.
وبعيدًا عن هذا الإطار الزمني، يقدم JSON أيضًا مجموعة من الميزات العملية التي تفسر شعبيته الدائمة.
مميزات جيسون
سهل الاستخدام - توفر JSON API واجهة عالية المستوى، مما يساعدك على تبسيط حالات الاستخدام الشائعة الاستخدام.
هاملت - JSON سريع جدًا لأنه يستهلك مساحة ذاكرة أقل جدًا، وهو مناسب بشكل خاص للرسوم البيانية أو الأنظمة ذات الكائنات الكبيرة.
أداة مجانية – مكتبة JSON مفتوحة المصدر ومجانية الاستخدام.
لا يتطلب إنشاء خريطةping – توفر واجهة برمجة تطبيقات جاكسون خريطة افتراضيةping لتسلسل العديد من الكائنات.
تنظيف JSON - إنشاء نتيجة JSON نظيفة ومتوافقة وسهلة القراءة.
التبعية – مكتبة JSON لا تحتاج إلى أي مكتبة أخرى للمعالجة.
قواعد بناء جملة JSON
قواعد بناء جملة JSON هي:
- يجب أن تكون البيانات في أزواج الاسم/القيمة
- يجب فصل البيانات بفواصل
- يجب أن تحمل الأقواس المتعرجة الأشياء
- الأقواس المربعة تحمل المصفوفات
أنواع البيانات في JSON
بعد تحديد قواعد بناء الجملة، يسرد الجدول التالي أنواع البيانات المهمة المستخدمة في JSON:
| نوع البيانات | الوصف |
|---|---|
| رقم الهاتف | ويشمل رقمًا حقيقيًا أو عددًا صحيحًا أو رقمًا عائمًا |
| خيط | يتكون من أي نص أو Unicode مقتبس مزدوج مع علامة الإفلات العكسية |
| منطقية | يمثل نوع البيانات المنطقية قيمًا صحيحة أو خاطئة |
| فارغة | تشير القيمة Null إلى أن المتغير المرتبط ليس له أي قيمة |
| هدف | إنها عبارة عن مجموعة من أزواج القيمة الرئيسية ويتم الفصل بينها دائمًا بفاصلة ويتم وضعها بين قوسين متعرجين. |
| مجموعة | إنه تسلسل مرتب للقيم المنفصلة. |
رقم الهاتف
- الرقم عبارة عن تنسيق فاصلة عائمة بدقة مزدوجة ويعتمد على طريقة تنفيذه.
- في JSON، لا يمكنك استخدام التنسيقات السداسية العشرية والثمانية.
يعرض الجدول التالي أنواع الأرقام:
| النوع | الوصف |
|---|---|
| عدد صحيح | الأرقام من 1 إلى 9 و 0. أرقام موجبة وسالبة. |
| جزء | الكسور مثل 3 |
| الأس | الأس مثل e، e+ |
بناء الجملة:
var json-object-name = { string : number_value,......}
على سبيل المثال:
var obj = {salary: 2600}
خيط
هي سلسلة من أحرف يونيكود المزدوجة المقتبسة، وتحتوي على شرطة مائلة عكسية (\).ping.
يوضح الجدول التالي أنواعًا مختلفة من السلاسل:
| النوع | الوصف |
|---|---|
| * | استخدم للعلامات المزدوجة، شكرًاping |
| / | استخدام ل سوليدوس |
| \ | استخدم للصلب العكسي |
| B | استخدم لإضافة مسافة للخلف |
| F | من الأعلاف |
| N | لإنشاء خط جديد |
| R | استخدم لإرجاع النقل |
| T | لإظهار علامة التبويب الأفقية |
| U | أرقام سداسية عشرية |
بناء الجملة:
var json-object-name = { string : "string value",…..}
على سبيل المثال:
var obj = {name: 'Andy'}
منطقية
يقوم بتخزين القيم الصحيحة أو الخاطئة فقط.
بناء الجملة:
var json-object-name = {string : true/false, …..}
على سبيل المثال:
var obj = {active: 'true'}
مجموعة
- إنها مجموعة مرتبة من القيم.
- يجب عليك استخدام مصفوفة عندما تكون أسماء المفاتيح عبارة عن أعداد صحيحة متسلسلة.
- يجب أن يكون محصورًا بين قوسين مربعين مفصولين بـ , (فاصلة)
بناء الجملة:
[value, .......]
على سبيل المثال:
إظهار مصفوفة تخزن كائنات متعددة:
{
"eBooks":[
{
"language":"Pascal",
"edition":"third"
},
{
"language":"Python",
"edition":"four"
},
{
"language":"SQL",
"edition":"second"
}
]
}
كائن JSON
A كائن JSON هو كيان بتنسيق JSON محاط بأقواس متعرجة. وهو مكتوب في مجموعة غير مرتبة من أزواج الاسم والقيمة حيث يجب أن يتبع الاسم ":" (نقطة)، ويجب فصل أزواج الاسم/القيمة باستخدام "," (فاصلة). ويمكن استخدامه عندما تكون أسماء المفاتيح عبارة عن سلاسل عشوائية.
بناء الجملة:
{ string : value, ….. }
على سبيل المثال:
{
"id": 110,
"language": "Python",
"price": 1900,
}
بيضاء
يمكنك إدراج مسافة بيضاء بين زوج من الرموز المميزة.
على سبيل المثال:
بناء الجملة:
{string:" ",….}
على سبيل المثال:
var a = " Alex"; var b = "Steve";
مثال على JSON
يحدد مثال التعليمات البرمجية المحدد كيفية استخدام JSON لتخزين المعلومات المتعلقة بـ كتب البرمجة مع الطبعة واسم المؤلف.
{
"book":[
{
"id":"444",
"language":"C",
"edition":"First",
"author":"Dennis Ritchie "
},
{
"id":"555",
"language":"C++",
"edition":"second",
"author":" Bjarne Stroustrup "
}
]
}
دعونا نفهم تنسيق JSON مع مثال آخر لملف JSON. هنا، يحدد JSON الاسم الأول واسم العائلة ومعرف الطالب.
{
"student": [
{
"id":"01",
"name": "Tom",
"lastname": "Price"
},
{
"id":"02",
"name": "Nick",
"lastname": "Thameson"
}
]
}
تطبيق جيسون
فيما يلي بعض التطبيقات الشائعة لـ JSON:
- يساعدك على نقل البيانات من الخادم
- يساعد تنسيق ملف JSON النموذجي في transmit وتسلسل جميع أنواع البيانات المهيكلة.
- يتيح لك إجراء مكالمات بيانات غير متزامنة دون الحاجة إلى تحديث الصفحة
- يساعدك على transmit البيانات بين الخادم وتطبيقات الويب.
- يستخدم على نطاق واسع ل Javaتطبيق قائم على البرنامج النصي، والذي يتضمن ملحق المتصفح ومواقع الويب.
- يمكنك transmit البيانات بين الخادم وتطبيق الويب باستخدام JSON.
- يمكننا استخدام JSON مع لغات البرمجة الحديثة.
- يتم استخدامه للكتابة Javaتطبيقات تعتمد على البرامج النصية وتتضمن إضافات للمتصفح.
- تستخدم خدمات الويب وواجهات برمجة التطبيقات المريحة تنسيق JSON للحصول على البيانات العامة.
نظراً لتطبيق JSON على نطاق واسع، فإنه غالباً ما تتم مقارنته بـ XML، وهو التنسيق الذي يحل محله بشكل متكرر.
JSON مقابل XML
هذا هو الفرق الرئيسي بين JSON وXML
| JSON | XML |
|---|---|
| كائن JSON له نوع | XML البيانات بلا نوع |
| أنواع JSON: سلسلة، رقم، صفيف، منطقية | يجب أن تكون كافة بيانات XML عبارة عن سلسلة |
| يمكن الوصول إلى البيانات بسهولة ككائنات JSON | يجب تحليل بيانات XML. |
| ملفات JSON أسهل في القراءة بالنسبة للبشر. | ملفات XML أقل قابلية للقراءة من قبل البشر. |
| JSON مدعوم من قبل معظم المتصفحات. | يمكن أن يكون تحليل XML عبر المتصفحات أمرًا صعبًا |
| JSON ليس لديه إمكانيات العرض. | يوفر XML القدرة على عرض البيانات لأنها لغة ترميزية. |
| استرجاع القيمة أمر سهل | استرجاع القيمة أمر صعب |
| مدعومة بالعديد من أدوات Ajax | غير مدعوم بالكامل بواسطة مجموعة أدوات Ajax |
| طريقة مؤتمتة بالكامل لإلغاء التسلسل/التسلسل Javaالنصي. | المطورين يجب أن يكتبوا Javaكود البرنامج النصي للتسلسل/إلغاء التسلسل من XML |
| الدعم الأصلي للكائن. | يجب أن يتم التعبير عن الكائن من خلال الاتفاقيات، وغالبًا ما يتم تجاهل استخدام السمات والعناصر. |
مثال JSON
فيما يلي مثال JSON بسيط:
{
"student": [
{
"id":"01",
"name": "Tom",
"lastname": "Price"
},
{
"id":"02",
"name": "Nick",
"lastname": "Thameson"
}
]
}
مثال XML
<?xml version="1.0" encoding="UTF-8" ?> <root> <student> <id>01</id> <name>Tom</name> <lastname>Price</lastname> </student> <student> <id>02</id> <name>Nick</name> <lastname>Thameson</lastname> </student> </root>
ما هو JSON ليس؟
- نموذج ملف بيانات JSON ليس تنسيق مستند.
- إنها ليست لغة ترميزية.
- لا يوفر JSON تنسيقًا تسلسليًا عامًا.
- إنها ليست هياكل متكررة أو دورية.
- كما أنها ليست بنية غير مرئية.
عيوب JSON
فيما يلي بعض مزايا JSON:
- لا يوجد دعم لمساحة الاسم، وبالتالي ضعف القابلية للتوسعة
- محدود ادوات التطوير تقنية
- لا يوجد دعم للتعريف النحوي الرسمي
أدوات JSON الشائعة (الوظائف الإضافية)
فيما يلي أدوات JSON المهمة:
جسونلينت:
JSONLint هو مشروع مفتوح المصدر يُستخدم للتحقق من صحة بيانات JSON وإعادة تنسيقها. وهو تنسيق خفيف الوزن لتبادل البيانات. يمكنك نسخ البيانات ولصقها، أو كتابتها مباشرةً، أو إدخالها. URL في أداة التحقق من صحة JSON للتحقق من صحة كود JSON الخاص بك.
الرابط: https://jsonlint.com
محرر JSON عبر الإنترنت:
يعد JSON Editor Online أداة مفيدة تعتمد على الويب. يسمح لك بتحرير وعرض وتنسيق JSON. يعرض بياناتك جنبًا إلى جنب بشكل واضح وقابل للتحرير برنامج محرر التعليمات البرمجية.
الرابط: https://jsoneditoronline.org/
أداة تصغير JSON:
إنها أداة تساعدك على إزالة المسافات البيضاء وتعطي رمز JSON الذي يشغل أقل مساحة.
الرابط: https://www.browserling.com/tools/json-minify
محول JSON إلى XML:
يعد محول JSON إلى XML أداة بسيطة وفعالة تساعدك على تحويل كود JSON الخاص بك.
الرابط: https://codebeautify.org/jsontoxml
منسق JSON:
يساعدك منسق JSON على حل المشكلة عن طريق تنسيق بيانات JSON بحيث يسهل على الإنسان قراءتها وتصحيح أخطائها.
الرابط: https://jsonformatter.curiousconcept.com/
