Avatar ·

json.Marshal(struct) खाली JSON "{}" लौटाता है: कैसे ठीक करें?

सभी को नमस्ते! मैं Go में नया हूँ और JSON के साथ काम करते समय एक अजीब समस्या का सामना कर रहा हूँ। मेरे पास एक struct है, मैं इसे डेटा से भरता हूँ, `json.Marshal()` का उपयोग करके JSON में serialize करने का प्रयास करता हूँ, लेकिन आउटपुट में केवल खाली curly braces `{}` मिलते हैं। यहाँ मेरा कोड है:\n\n```go\npackage main\n\nimport (\n\t"encoding/json"\n\t"fmt"\n)\n\ntype User struct {\n\tName string\n\tAge int\n}\n\nfunc main() {\n\tu := User{"Alice", 30}\n\tresult, err := json.Marshal(u)\n\tif err != nil {\n\t\tfmt.Println("Error:", err)\n\t\treturn\n\t}\n\tfmt.Println(string(result)) // आउटपुट: {}\n}\n```\n\nमुझे `{"Name":"Alice","Age":30}` देखने की उम्मीद थी, लेकिन मुझे केवल `{}` दिखाई देता है। कोई error नहीं है, लेकिन डेटा खो जाता है। मैं क्या गलत कर रहा हूँ? मैंने जाँच की कि struct सही ढंग से भरा गया है — यदि मैं `fmt.Println(u.Name, u.Age)` के माध्यम से fields को प्रिंट करता हूँ, तो वे