ما هو JSON؟
JSON (JavaScript Object Notation) صيغة نصية للبيانات المهيكلة تتكون من كائنات ومصفوفات ونصوص وأرقام وقيم منطقية وnull. يعرّفها المعياران RFC 8259 وECMA-404، وهي مستقلة عن لغة البرمجة، وتُعدّ الصيغة الافتراضية لواجهات الويب لأنها مضغوطة وقابلة للقراءة وسهلة التحليل.
كيفية استخدام مولّد مجموعات بيانات JSON الكبيرة
- اكتب سجلاً واحداً بصيغة JSON مع {{عناصر نائبة}} داخل السلاسل النصية (أو حمّل المثال).
- حدّد عدد السجلات والشكل واللغة.
- اضغط «توليد» (Generate)؛ واستخدم «تنزيل» (Download) للمخرجات الكبيرة.
مزايا مولّد مجموعات بيانات JSON الكبيرة
- قالب سجل مع أكثر من 50 عنصراً نائباً: الأسماء وعناوين البريد الإلكتروني والهواتف وUUID والأعداد الصحيحة والعشرية والقيم المنطقية والتواريخ والاختيارات والمدن والشركات والكلمات…
- إخراج بأنواع صحيحة — يصبح العنصر النائب المنفرد عدداً أو قيمة منطقية أو null
- حتى 50,000 سجل كمصفوفة، أو كمغلّف مقسَّم إلى صفحات { data, total }، أو بصيغة JSON Lines
- إخراج مضغوط تلقائياً فوق 2,000 سجل وتحذير فوق 10,000
- جدول معاينة لأول 50 سجلاً وملخّص للحجم
- قابل للتوليد ببذرة (seed) لبيانات ثابتة (fixtures) قابلة لإعادة الإنتاج
مثال على مولّد مجموعات بيانات JSON الكبيرة
من القالب إلى السجلات
الإدخال:
{ "id": "{{index:1}}", "name": "{{fullName}}", "age": "{{int:18-65}}", "plan": "{{pick:free|pro}}" }النتيجة:
[
{ "id": 1, "name": "Sadie Price", "age": 37, "plan": "pro" },
{ "id": 2, "name": "Mia Kingsley", "age": 41, "plan": "free" }
]الأسئلة الشائعة حول مولّد مجموعات بيانات JSON الكبيرة
ما العناصر النائبة التي يمكنني استخدامها؟
{{fullName}} و{{email}} و{{phone:SA}} و{{uuid}} و{{int:1-100}} و{{float:0-1:2}} و{{bool:80}} و{{date:2020-01-01,2024-12-31}} و{{datetime}} و{{pick:a|b|c}} و{{index:1}} و{{city}} و{{company}} و{{word}} و{{sentence}} ونحو أربعين عنصراً آخر.
هل تحافظ العناصر النائبة على نوعها؟
نعم. تصبح السلسلة النصية المكوّنة من عنصر نائب واحد بالضبط عدداً أو قيمة منطقية أو null عندما يعيد المولّد ذلك؛ أما العناصر النائبة داخل نص أطول فتُدرَج كنص.
ما أكبر حجم ممكن للمخرجات؟
حتى 50,000 سجل (نحو 20 ميغابايت مع القالب النموذجي). فوق 10,000 سجل تحذّر الأداة، ويتوقف التنسيق الجميل فوق 2,000 سجل؛ واستخدم «تنزيل» بدلاً من «نسخ» للملفات الكبيرة.
هل يمكنني الحصول على JSON Lines أو مغلّف مقسَّم إلى صفحات؟
نعم — اختر شكل JSON Lines أو المغلّف { data, total, page } الذي يحاكي واجهة API مقسَّمة إلى صفحات.
ملاحظات تقنية
تُحلّ العناصر النائبة بمحرّك الحقول نفسه الذي تستخدمه مولّدات CSV وXML وSQL، لذا تتصرف {{int:1-100}} و{{float:0-1:3}} و{{date:2020-01-01,2024-12-31}} و{{pick:a|b}} بالطريقة نفسها في كل مكان. وتتشارك العناصر النائبة الخاصة بالأشخاص داخل السجل الواحد هوية مولَّدة واحدة.
المراجع
- RFC 8259: The JavaScript Object Notation (JSON) Data Interchange Formatقواعد JSON: الكائنات والمصفوفات والنصوص والأرقام والقيم الثلاث الثابتة، وUTF-8 كترميز للتبادل.
- ECMA-404: The JSON Data Interchange Syntaxصياغة JSON كمعيار من Ecma، متوافقة مع RFC 8259.
- Introducing JSONالوصف الأصلي المختصر لـ JSON مع مخططاته النحوية.
- RFC 4180: Common Format and MIME Type for Comma-Separated Values (CSV) Filesقواعد CSV الشائعة: الفاصلة كفاصل، ونهايات الأسطر CRLF، وتحويط الحقول التي تحتوي فواصل أو علامات اقتباس أو أسطر جديدة.