
Mã hóa JSON
json.Marshal, json.Unmarshal, struct tags, custom marshaling, streaming, RawMessage
1Hàm nào cho phép mã hóa một struct Go thành JSON?
Hàm nào cho phép mã hóa một struct Go thành JSON?
Câu trả lời
json.Marshal mã hóa một struct Go thành các byte JSON. Hàm này đọc các struct tags để tùy chỉnh việc tuần tự hóa (đổi tên, bỏ qua field). Để streaming tới io.Writer, dùng json.NewEncoder giúp tránh tạo một buffer trung gian trong bộ nhớ.
2Hàm nào cho phép giải mã JSON thành một struct Go?
Hàm nào cho phép giải mã JSON thành một struct Go?
Câu trả lời
json.Unmarshal giải mã các byte JSON thành một struct Go. Phải truyền một con trỏ tới struct đích để dữ liệu được ghi đúng. Để streaming từ io.Reader, json.NewDecoder hiệu quả hơn vì nó tránh nạp toàn bộ JSON vào bộ nhớ.
3JSON struct tag nào cho phép đổi tên một field khi tuần tự hóa?
JSON struct tag nào cho phép đổi tên một field khi tuần tự hóa?
Câu trả lời
Tag json:"custom_name" cho phép đổi tên một field khi tuần tự hóa JSON. Ví dụ, field UserID có thể trở thành user_id trong JSON. Điều này hữu ích để tuân theo quy ước đặt tên (snake_case trong JSON vs CamelCase trong Go).
JSON struct tag nào loại trừ hoàn toàn một field khỏi việc tuần tự hóa?
JSON struct tag nào cho phép bỏ qua một field nếu giá trị của nó rỗng?
+17 câu hỏi phỏng vấn
Các chủ đề phỏng vấn Go khác
Kiến thức cơ bản về Go
Cấu trúc dữ liệu Go
Interface trong Go
Xử lý lỗi
Cơ bản về Goroutine
Channels
Go Modules
Máy chủ HTTP
HTTP Client
Database/SQL
Gói context
Testing
Các mẫu Concurrency
Primitive đồng bộ hóa
Framework web Go
Thiết kế API REST
gRPC
Reflection
Quản lý bộ nhớ
Tối ưu hóa hiệu năng
Generics
Go Design Patterns
Microservices
Bảo mật và Xác thực
Docker & Containerization
Kubernetes Basics
Go Nâng cao
Phát triển CLI
Nắm vững Go cho lần phỏng vấn tiếp theo
Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.
Bắt đầu miễn phí