Go

JSON Kodlama

json.Marshal, json.Unmarshal, struct tags, custom marshaling, streaming, RawMessage

20 mülakat soruları·
Mid-Level
1

Bir Go struct'ını JSON'a kodlamaya hangi fonksiyon olanak tanır?

Cevap

json.Marshal bir Go struct'ını JSON byte'larına kodlar. Bu fonksiyon, serileştirmeyi özelleştirmek için struct tags'leri okur (yeniden adlandırma, alan atlama). io.Writer'a streaming için json.NewEncoder kullanmak, bellekte ara bir buffer oluşturmayı önler.

2

JSON'u bir Go struct'ına çözmeye hangi fonksiyon olanak tanır?

Cevap

json.Unmarshal, JSON byte'larını bir Go struct'ına çözer. Verilerin doğru yazılması için hedef struct'a bir pointer geçilmelidir. io.Reader'dan streaming için json.NewDecoder daha verimlidir çünkü tüm JSON'u belleğe yüklemekten kaçınır.

3

Hangi JSON struct tag, serileştirme sırasında bir alanın yeniden adlandırılmasına olanak tanır?

Cevap

json:"custom_name" tag'i, JSON serileştirmesi sırasında bir alanı yeniden adlandırmaya olanak tanır. Örneğin, bir UserID alanı JSON'da user_id olabilir. Bu, adlandırma kurallarına uymak için kullanışlıdır (JSON'da snake_case vs Go'da CamelCase).

4

Hangi JSON struct tag, bir alanı serileştirmeden tamamen hariç tutar?

5

Hangi JSON struct tag, değeri boşsa bir alanın atlanmasına olanak tanır?

+17 mülakat soruları

Bir sonraki mülakatın için Go'de uzmanlaş

Tüm sorulara, flashcards'a, teknik testlere, code review alıştırmalarına ve mülakat simülatörlerine eriş.

Ücretsiz başla