"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيف يمكنني التمييز بين الحقول الفراغية وغير المحددة عندما لا يكون هناك json في GO؟

كيف يمكنني التمييز بين الحقول الفراغية وغير المحددة عندما لا يكون هناك json في GO؟

نشر في 2025-03-23
تصفح:936

How Can I Differentiate Between Void and Unspecified Fields When Unmarshaling JSON in Go?

JSON: [ {"الاسم": "A" ، "الوصف": "Monotremata"} ، {"الاسم": "B"} ، {"الاسم": "C" ، "الوصف": ""} ]

إذا حددنا بنية GO مثل هذا:

اكتب struct سلسلة الاسم الوصف سلسلة }

[
  {"Name": "A", "Description": "Monotremata"},
  {"Name": "B"},
  {"Name": "C", "Description": ""}
]

[{name: A الوصف: monotremata} {name: b: b: في كلتا الحالتين ، يتم تعيين حقل الوصف على سلسلة فارغة في تمثيل GO.

type Category struct {
  Name        string
  Description string
}
سلسلة الاسم الوصف *سلسلة }

عندما لا نلاحظ json في هذا الهيكل المعدل ، نحصل على الإخراج التالي:
[{Name:A Description:Monotremata} {Name:B Description:} {Name:C Description:}]
[{name: a description: 0x1050c150} {name: b: b: الحقل الوصف لـ C هو مؤشر لسلسلة فارغة (يشار إليها بعنوان الذاكرة السداسية). هذا يسمح لنا بتحديد الحقول غير المحددة والتعامل معها وفقًا لذلك في برنامجنا.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3