كيفية إرسال سلسلة JSON في طلب POST بلغة Go؟
مرحباً بالجميع! لقد بدأت مؤخراً في تعلم Go وأكتب عميل REST صغير للعمل مع API خارجي. أحتاج إلى إرسال طلب POST مع نص بتنسيق JSON، لكنني لا أستطيع فهم كيفية القيام بذلك بشكل صحيح.
لدي هيكل بيانات أقوم بتسلسله إلى JSON، وأريد إرساله إلى الخادم. إليك ما جربته:
```go
package main
import (
"fmt"
"net/http"
"strings"
)
type User struct {
Name string `json:"name"`
Email string `json:"email"`
}
func main() {
user := User{Name: "إيفان", Email: "ivan@example.com"}
// كيف يمكنني إرسال هذا كـ JSON في طلب POST؟
resp, err := http.Post("https://api.example.com/users", "application/json", strings.NewReader(user))
if err != nil {
fmt.Println(err)
}
fmt.Println(resp)
}
```
أفهم أن `strings.NewReader(user)` لا يعمل لأنه يتوقع سلسلة نصية وليس هيكل بيانات. لكن كيف يمكنني تحويل الهيكل إلى JSON بشكل صحيح وإرساله؟ هل أحتاج إلى استخدام