JSON مرتب لا يعني بيانات صحيحة: ما الذي يثبته التنسيق؟
المسافات البادئة تجعل JSON أسهل فحصًا، خصوصًا عند مقارنة إعدادات أو قراءة استجابة خدمة. لكنها لا تعرف إن كان السعر صحيحًا أو الحقل مطلوبًا أو الوحدة مناسبة.
الصياغة شرط أول، لا الاختبار الأخير
يستخدم JSON علامات اقتباس مزدوجة للنصوص وأسماء الحقول. التعليقات والفاصلة بعد العنصر الأخير ليست ضمن صيغته القياسية.
بعد نجاح القراءة، راجع عقد البيانات: الحقول المطلوبة والأنواع والوحدات والقيم المسموحة. قد تكون quantity قيمة نصية صحيحة نحويًا، لكنها غير مقبولة في خدمة تتوقع عددًا.
المسافة داخل النص ليست حشوًا
يمكن تغيير الفراغ المحيط بالفواصل والأقواس دون تغيير البنية، لكن المسافات داخل علامات الاقتباس جزء من القيمة. التصغير لا يعني حذف جميع المسافات من الملف.
يحافظ منسق ToolRoof على كتابة الأرقام والنصوص الأصلية. لا يحوّل معرّفًا مثل "0042" إلى العدد 42، ولا يعيد كتابة 1e3 بصيغة أخرى لمجرد التنسيق.
المفاتيح المكررة إشارة للمراجعة
ينصح معيار JSON بأن تكون أسماء الحقول داخل الكائن فريدة؛ البرامج لا تتعامل مع التكرار بالطريقة نفسها. نجاح التنسيق لا يختار أي قيمة قصدها الكاتب.
إذا ظهر الحقل مرتين، أصلح مصدر البيانات وفق العقد بدل الاعتماد على أن آخر قيمة ستفوز دائمًا. كذلك لا يضمن الحفاظ على رقم كبير هنا أن نظامًا آخر سيقرأه بالدقة نفسها.
مثال: صندوق له رمز، لا رقم تسلسلي حسابي
في {"item":"box blue","quantity":2,"amount":1e3,"code":"0042"} توجد مسافتان داخل اسم العنصر، وكمية عددية، ومبلغ مكتوب بالصيغة الأسية، ورمز نصي يبدأ بصفرين. إضافة الأسطر البادئة لا ينبغي أن تمحو هذه الفروق.
وعند التصغير تبقى box blue بمسافتيها، و1e3 كما كُتبت، و"0042" نصًا. أما {"count":2,"count":3} فيحتاج قرارًا في البيانات الأصلية؛ عرضه بشكل أجمل لا يحسم العدد المقصود.