Avatar ·

كيفية إرجاع JSON في Go: دليل كامل مع أمثلة

```html مرحبًا بالجميع! لقد بدأت للتو في تعلم Go وواجهت مشكلة: أحتاج إلى كتابة خادم HTTP بسيط يعيد JSON ببيانات المستخدم عند طلب GET على العنوان /api/user. قرأت أن Go يحتوي على حزمة مدمجة encoding/json، لكنني لا أستطيع فهم كيفية تسلسل الهيكل (struct) إلى JSON بشكل صحيح وإرساله في الاستجابة. حاولت القيام بذلك: ```go package main import ( "fmt" "net/http" ) type User struct { Name string Age int } func userHandler(w http.ResponseWriter, r *http.Request) { user := User{Name: "Анна", Age: 28} fmt.Fprintf(w, "%v", user) } func main() { http.HandleFunc("/api/user", userHandler) http.ListenAndServe(":8080", nil) } ``` لكن في الاستجابة أحصل على شيء مثل `{Анна 28}`، وليس `{"Name":"Анна","Age":28}`. كيف يمكنني تحويل الهيكل (struct) إلى JSON بشكل صحيح وتعيين رأس Content-Type المناسب؟ هل أحتاج إلى معالجة الأخطاء؟ وماذا أفعل إذا أردت أن تكون أسماء الحقول بصيغة camelCase، مثل `userName` بدلاً من `Name`؟ ```