مولدات الكود · 50دقيقة قراءة
JSON إلى SQL: من حمولة إلى جدول يمكنك الاستعلام عنه
في بعض الأحيان يكون أسرع طريق من ملف JSON إلى استعلام SQL هو إنشاء جدول منه. يؤدي تحويل JSON إلى SQL إلى إنتاج المخطط والصفوف في خطوة واحدة، وهو مثالي للتركيبات والتحليل الأولي وبذر قاعدة بيانات محلية - بشرط أن تبقيها خارج سجل الترحيل الخاص بك.
تم التحديث
كيف يتم تعيين الأنواع من JSON إلى SQL
- السلاسل → `TEXT` (`VARCHAR(n)` عندما تعرف ميزانية الطول).
- الأعداد الصحيحة → `INTEGER` / `BIGINT`، الكسور العشرية → `NUMERIC` بدلاً من النقطة العائمة، خاصة بالنسبة للمال.
- القيم المنطقية → `BOOLEAN`.
- الكائنات والمصفوفات المتداخلة → `JSONB` في PostgreSQL، `JSON` في MySQL 8 - أو قم بتطبيعها في جداول فرعية عندما تكون البيانات موجودة لتبقى.
- المفاتيح المفقودة ← الأعمدة الفارغة، ليست أبدًا قيمة افتراضية مزيفة.
يعد الجدول الذي تم إنشاؤه نقطة بداية رائعة وترحيلًا رهيبًا. اكتب المخطط الذي تريده، ثم استخدم SQL الذي تم إنشاؤه كمرجع لأسماء الأعمدة وأنواعها.
الهروب ليس اختياريا
تحتوي السلاسل النصية في JSON بشكل روتيني على الفواصل العليا -`O’Brien`,`it's done`- ويتم لصقها في SQL يدويًا، حيث يقومون بإنهاء السلسلة الحرفية مبكرًا ويكسرون العبارة. تضاعف عبارات INSERT التي تم إنشاؤها كل علامة اقتباس بشكل صحيح، وهو الشيء الأكثر فائدة الذي يفعله التحويل لك. بالنسبة للإدراجات المجمعة، قم بلف الصفوف في عبارة واحدة حتى تتمكن قاعدة البيانات من الكتابة دفعة واحدة بدلاً من الالتزام بكل سطر.
استخدامات جيدة، واستخدامات سيئة
بيانات التثبيت للاختبارات، ونسخة أولية محلية من تصدير واجهة برمجة التطبيقات (API)، وبذر بيئة تجريبية، والإجابة على سؤال لمرة واحدة في SQL، كلها تستفيد من تحويل JSON إلى SQL. إدارة مخطط الإنتاج لا تفعل ذلك: تحتاج عمليات الترحيل إلى المراجعة والفهارس والقيود ومسار التراجع. أنشئ الجدول، ثم اكتب يدويًا عملية الترحيل التي يتم إرسالها.
المصفوفات والكائنات: التسوية أم التخزين؟
إذا كان المصفوفة عبارة عن قائمة ثابتة من الكميات القياسية، فإن الجدول الفرعي الذي يحتوي على مفتاح خارجي يجعل الاستعلامات بسيطة. إذا كانت حمولة ديناميكية حقًا - أجسام خطاف الويب، وبيانات تعريف الطرف الثالث - فإن تخزينها كـ `JSONB` وفهرسة المسارات التي تستعلم عنها هو الخيار العملي. قرر كيف سيتم الاستعلام عنه: أي شيء تقوم بتصفيته أو الانضمام إليه ينتمي إلى عمود.
تشغيله في المتصفح
إن عمليات تصدير قاعدة البيانات وعمليات تفريغ واجهة برمجة التطبيقات (API) هي بالضبط الحمولات التي لا ينبغي تحميلها إلى خدمة غير معروفة. يحدث التحويل من JSON إلى SQL هنا بالكامل في الصفحة، وبالتالي فإن البيان الذي تنسخه مبني على بيانات لم تترك جهازك مطلقًا، ولا تزال الأداة تعمل دون اتصال بالإنترنت.
JSON إلى SQL — الأسئلة المتداولة
ما هي اللهجة التي يجب أن أقوم بتوليدها؟
استهدف قاعدة البيانات التي سيتم تشغيلها عليها فعليًا - PostgreSQL لـ `JSONB`، وMySQL 8 لـ `JSON` والمعرفات المحددة خلفيًا، وSQLite للعمل المحلي الخفيف. تختلف قواعد الاقتباس وأسماء الأنواع فيما بينها، لذا فإن التجديد لكل لهجة يتفوق على التكيف يدويًا.
هل يمكنني إدراج صفائف JSON في عمود SQL واحد؟
نعم، في قواعد البيانات التي تحتوي على نوع عمود JSON: يصبح المصفوفة `JSONB` أو `JSON` ويمكنك الاستعلام عنها باستخدام عوامل تشغيل المسار. إذا كنت بحاجة إلى ضم العناصر أو تجميعها، فإن الجدول الفرعي هو النموذج الأفضل.
هل المتولدة SQL آمنة من الحقن؟
العبارات التي تم إنشاؤها مخصصة لك للتشغيل في المكان الذي تختاره، ويتم تهريب قيم السلسلة كأحرف حرفية. إنها ليست بديلاً عن الاستعلامات ذات المعلمات في كود التطبيق - لا تقم أبدًا بإنشاء استعلامات عن طريق التسلسل في الخادم.
الأدوات المذكورة في هذه التدوينة
المزيد من المقالات للقراءة
60دقيقة قراءة
JSON إلى TypeScript: الأنواع المطابقة للواقع
قم بتحويل واجهات JSON إلى TypeScript من استجابة API حقيقية - مفاتيح اختيارية، وتوحيدات فارغة، وأنواع متداخلة - وامنع الأنواع التي تم إنشاؤها من الانحراف.
50دقيقة قراءة
JSON to Go: بنيات يتم فك تنظيمها من المحاولة الأولى
قم بتحويل JSON إلى بنيات Go بأسماء الحقول الصحيحة وعلامات json، بما في ذلك الأنواع المتداخلة - بالإضافة إلى المصائد الرقمية والفارغة والوقتية التي يجب مشاهدتها.
50دقيقة قراءة
CSV إلى JSON: من جدول بيانات إلى بيانات منظمة
قم بتحويل CSV إلى JSON في المتصفح - شرح صفوف الرؤوس والمحددات وقواعد الاقتباس ومعالجة النوع، مع عمليات تصدير جداول البيانات التي تعطل المحلل اللغوي.
- مقال أطول للقراءة: JSON إلى TypeScript: الأنواع التي تقول الحقيقة