Avatar ·

Go में JSON प्रतिक्रिया से संरचना फ़ील्ड हटाना या छिपाना

सभी को नमस्कार! मैं Go में नया हूँ और इस समस्या का सामना कर रहा हूँ। मेरे पास एक User संरचना है जिसका उपयोग डेटाबेस में उपयोगकर्ता डेटा संग्रहीत करने और REST API के माध्यम से JSON प्रतिक्रियाएँ भेजने के लिए किया जाता है। ```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 फ़ील्ड (सामान्य उपयोगकर्ताओं के लिए) नहीं भेजना चाहता। लेकिन मैं प्रत्येक मामले के लिए अलग संरचनाएँ नहीं बनाना चाहता — इससे कोड डुप्लिकेशन होता है। मैंने Password फ़ील्ड के लिए `json:"-"` का उपयोग करने का प्रयास किया, लेकिन तब यह कभी भी JSON में शामिल नहीं होगा, जबकि मुझे चाहिए कि यह कुछ परिदृश्यों में प्रतिक्रिया में हो (उदाहरण के लिए, एडमिन के लिए)। मैंने फ़ील्ड को खाली स्ट्रिंग या शून्य बनाने का भी प्रयास किया, लेकिन JSON में वे फिर भी दिखाई देते हैं। संरचना से फ़ील्ड को सही तरीके से कैसे छिपाएँ या हटाएँ?