كيفية إرجاع 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`؟
```