AzLearn

واجهات JSON

JSON APIs

تطبيق ~25 دقيقة

واجهات JSON — JSON APIs

معظم التطبيقات الحديثة تتواصل عبر JSON. Go تأتي مع حزمة encoding/json قوية تُحوّل بين Go structs و JSON بسلاسة.

تشفير JSON — Marshal

main.go

فك تشفير JSON — Unmarshal

main.go

بناء REST API كامل

main.go

وسوم JSON المهمة — JSON Tags

type Example struct {
    Field1 string `json:"field_1"`            // اسم مخصص
    Field2 int    `json:"field_2,omitempty"`   // حذف إذا صفر
    Field3 bool   `json:"-"`                   // تجاهل تماماً
    Field4 string `json:"field_4,string"`      // تشفير كنص
}

json.Encoder vs json.Marshal

// Marshal — يُنتج []byte — عندما تحتاج النتيجة كنص
data, err := json.Marshal(obj)

// Encoder — يكتب مباشرة لـ io.Writer — أفضل للـ HTTP
json.NewEncoder(w).Encode(obj)

// Decoder — يقرأ من io.Reader — أفضل لقراءة الطلب
json.NewDecoder(r.Body).Decode(&obj)
تحدي — Challenge