Avatar ·

كيفية تحويل هيكل Go إلى JSON بشكل صحيح ومعالجة الأخطاء؟

مرحباً بالجميع! لقد بدأت للتو في تعلم Go وواجهت مشكلة أثناء العمل مع JSON. أحاول تحويل هيكل إلى JSON لكن لا شيء يعمل. إليك الكود الخاص بي: ```go package main import ( "fmt" "encoding/json" ) type Person struct { Name string Age int City string } func main() { p := Person{Name: "إيفان", Age: 30, City: "موسكو"} // أحاول التحويل إلى JSON result := json.Marshal(p) fmt.Println(result) } ``` بدلاً من JSON العادي، أحصل على مخرجات غريبة مثل `[123 34 78 97...]`. كنت أتوقع رؤية شيء مثل `{"Name":"إيفان","Age":30,"City":"موسكو"}`. لماذا يحدث هذا؟ لقد قرأت الوثائق لكن كل شيء مكتوب بشكل معقد. هل يجب إضافة بعض الوسوم (tags)؟ أم أنني أستدعي الدالة بشكل خاطئ؟ اشرح لي من فضلك كيفية تسلسل (serialize) هيكل إلى JSON في Go بشكل صحيح. سؤال آخر: ماذا أفعل إذا كان الهيكل يحتوي على هياكل متداخلة أو slices؟ وكيف أتعامل مع الحقول الخاصة (private fields)؟ وكيف أتعامل مع الأخطاء؟