Avatar ·

إزالة الحقول من الهيكل أو إخفاؤها في استجابة JSON في Go

مرحباً بالجميع! أنا مبتدئ في Go وواجهت مشكلة كهذه. لدي هيكل User يُستخدم لتخزين بيانات المستخدم في قاعدة البيانات ولإرسال استجابات JSON عبر REST API. ```go type User struct { ID int `json:"id"` Username string `json:"username"` Email string `json:"email"` Password string `json:"password"` Role string `json:"role"` } ``` عندما أعيد المستخدم بصيغة JSON (مثلاً بعد التسجيل)، لا أريد إرسال حقل Password وربما حقل Role (للمستخدمين العاديين). لكنني لا أريد إنشاء هياكل منفصلة لكل حالة — فهذا يؤدي إلى تكرار الكود. حاولت استخدام `json:"-"` لحقل Password، لكنه لن يُدرج أبداً في JSON، بينما أحتاج إلى ظهوره في الاستجابة في بعض السيناريوهات (مثلاً للمسؤول). كما حاولت جعل الحقول فارغة أو صفرية، لكنها تظهر في JSON على أي حال. كيف يمكن إخفاء أو إزالة الحقول بشكل صحيح؟