JSON
JSON (ترميز كائنات JavaScript)
تنسيق خفيف الوزن وقائم على النص لتبادل البيانات يستخدم أزواج مفتاح-قيمة وقوائم مرتبة قابلة للقراءة البشرية لتمثيل البيانات المنظمة، ويعمل كتنسيق قياسي لواجهات API الويب وملفات التكوين.
التفاصيل التقنية
يدعم JSON (RFC 8259) ستة أنواع بيانات: السلسلة (Unicode بعلامات اقتباس مزدوجة)، والرقم (عدد صحيح أو عشري)، والمنطقي (true/false)، وnull، والكائن (خريطة مفتاح-قيمة غير مرتبة)، والمصفوفة (قائمة مرتبة). لا يدعم التعليقات أو الفواصل الزائدة أو علامات الاقتباس المفردة أو undefined أو التواريخ أو البيانات الثنائية أصلاً. يوسع JSON5 وJSONC التنسيق بالتعليقات والصيغة المرنة. يتم التحليل بواسطة JSON.parse() في JavaScript والدوال المكافئة في المكتبة القياسية لكل لغة رئيسية. تتعامل المحللات المتدفقة (نمط SAX) مع الملفات الكبيرة جدًا التي لا تتسع في الذاكرة.
مثال
```javascript
// JSON parse with reviver function
const data = JSON.parse(text, (key, val) => {
if (key === 'date') return new Date(val);
return val;
});
// JSON stringify with replacer and indentation
JSON.stringify(data, ['name', 'email'], 2);
```