# Codificación JSON (Go) > json.Marshal, json.Unmarshal, struct tags, custom marshaling, streaming, RawMessage - 20 preguntas de entrevista - Mid-Level - [Preguntas de entrevista: Go](https://sharpskill.dev/es/technologies/go/preguntas-entrevista.md) ## 1. ¿Qué función permite codificar una struct de Go en JSON? **Respuesta** json.Marshal codifica una struct de Go en bytes JSON. Esta función lee los struct tags para personalizar la serialización (renombrado, omisión de campos). Para streaming hacia io.Writer, usar json.NewEncoder evita crear un buffer intermedio en memoria. ## 2. ¿Qué función permite decodificar JSON en una struct de Go? **Respuesta** json.Unmarshal decodifica bytes JSON en una struct de Go. Se debe pasar un puntero a la struct destino para que los datos se escriban correctamente. Para streaming desde io.Reader, json.NewDecoder es más eficiente porque evita cargar todo el JSON en memoria. ## 3. ¿Qué struct tag JSON permite renombrar un campo durante la serialización? **Respuesta** El tag json:"custom_name" permite renombrar un campo durante la serialización JSON. Por ejemplo, un campo UserID puede convertirse en user_id en JSON. Es útil para respetar las convenciones de nombrado (snake_case en JSON vs CamelCase en Go). ## 17 preguntas más disponibles - ¿Qué struct tag JSON excluye completamente un campo de la serialización? - ¿Qué struct tag JSON permite omitir un campo si su valor está vacío? Regístrate gratis: https://sharpskill.dev/es/login ## Otros temas de entrevista Go - [Fundamentos de Go](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/go-basics.md): 25 preguntas, Junior - [Estructuras de datos en Go](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/go-data-structures.md): 20 preguntas, Junior - [Interfaces en Go](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/go-interfaces.md): 18 preguntas, Junior - [Manejo de errores](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/error-handling.md): 20 preguntas, Junior - [Goroutines básicas](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/goroutines-basics.md): 20 preguntas, Junior - [Channels](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/channels.md): 22 preguntas, Junior - [Go Modules](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/go-modules.md): 18 preguntas, Mid-Level - [Servidor HTTP](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/http-server.md): 24 preguntas, Mid-Level - [Cliente HTTP](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/http-client.md): 18 preguntas, Mid-Level - [Database/SQL](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/database-sql.md): 22 preguntas, Mid-Level - [Paquete context](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/context-package.md): 20 preguntas, Mid-Level - [Testing](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/testing.md): 22 preguntas, Mid-Level - [Patrones de concurrencia](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/concurrency-patterns.md): 24 preguntas, Mid-Level - [Primitivas de sincronización](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/sync-primitives.md): 22 preguntas, Mid-Level - [Frameworks web de Go](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/go-web-frameworks.md): 20 preguntas, Mid-Level - [Diseño de API REST](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/rest-api-design.md): 20 preguntas, Mid-Level - [gRPC](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/grpc.md): 22 preguntas, Mid-Level - [Reflection](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/reflection.md): 20 preguntas, Senior - [Gestión de memoria](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/memory-management.md): 24 preguntas, Senior - [Optimización del rendimiento](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/performance-optimization.md): 22 preguntas, Senior - [Generics](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/generics.md): 20 preguntas, Senior - [Go Design Patterns](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/design-patterns.md): 24 preguntas, Senior - [Microservices](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/microservices.md): 24 preguntas, Senior - [Seguridad y autenticación](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/security-authentication.md): 24 preguntas, Senior - [Docker & Containerization](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/docker-containerization.md): 20 preguntas, Senior - [Kubernetes Basics](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/kubernetes-basics.md): 22 preguntas, Senior - [Go Avanzado](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/advanced-go.md): 20 preguntas, Senior - [Desarrollo de CLI](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/cli-development.md): 20 preguntas, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/es/technologies/go/preguntas-entrevista/json-encoding