Generadores de código
JSON para ir al generador de estructuras
Pegue JSON y obtenga estructuras estilo gofmt con etiquetas json correctas en segundos. Los campos opcionales detectados en los elementos de la matriz se omiten, los valores que aceptan valores NULL se convierten en punteros y los enteros permanecen enteros.
- Se ejecuta 100% en tu navegador.
- Sin registro · Sin cargas
- Uso gratuito e ilimitado
JSON muestra
Ejemplos: Objeto de usuario · evento de webhook —⌘/Ctrl + Enter convierte · suelta un archivo para cargarlo · procesado localmente
Ir estructuras
La salida es de sólo lectura. Utilice Copiar, Descargar o Compartir para eliminarlo.
Cómo utilizar la herramienta JSON para ir
-
Pega tu JSON
Una respuesta del API que estás integrando funciona mejor. Incluya varios elementos de la matriz para que los campos opcionales sean visibles.
-
Establecer el nombre del tipo raíz
Nómbrelo después del recurso: Usuario, Evento, Orden. Los tipos anidados reciben nombres automáticamente a partir de sus claves.
-
Copie en su archivo Go
Pegue en su proyecto y ejecute gofmt. Los nombres de los campos están en mayúscula, las etiquetas coinciden exactamente con las claves originales, por lo que json.Unmarshal funciona de inmediato.
¿Qué hace que esta herramienta sea diferente?
- Etiquetas json fieles a las claves originales, incluidas Snake_case y guiones.
- omitiendo los campos que faltan en algunos elementos de la matriz
- Tipos de puntero para valores genuinamente anulables (*cadena), por lo que null se descompone limpiamente
- int vs float64 a partir de valores de muestra reales; cualquiera para mezclas irreconciliables
- salida compatible con gofmt con sangría de tabulación
Privacidad por arquitectura: esta página no contiene análisis que reciban su entrada y el código de conversión se ejecuta en su pestaña. Puedes desconectarte de la red después de cargar y seguir trabajando.
JSON para ir — preguntas frecuentes
¿Por qué algunos campos se convierten en punteros?
Un valor nulo JSON no se puede almacenar en una cadena simple o int, por lo que un campo que acepta valores NULL obtiene un puntero (*cadena, *int). Eso permite que encoding/json distinga "ausente" y "presente pero nulo" sin fallar, que es exactamente para lo que sirven los tipos de puntero.
¿Qué sucede cuando un campo tiene tipos mixtos?
Si un valor es una cadena en un elemento y un número en otro, el generador usa any en lugar de inventar un tipo concreto incorrecto. Luego puede decidir sobre un UnmarshalJSON personalizado si el API es realmente tan flojo.
¿Las etiquetas generadas incluyen omisión?
Solo para campos que faltaban en al menos un elemento de su muestra. Los campos obligatorios obtienen etiquetas simples, por lo que el recorrido de ida y vuelta no descarta datos.
¿La salida es compatible con gofmt?
Sí, las pestañas, la alineación y el orden de los campos siguen las convenciones de gofmt. Ejecute gofmt -l después de pegar y no debería informar cambios.
¿Puedo generar estructuras para respuestas grandes?
Sí. Los objetos anidados se convierten en estructuras con nombres separados, mientras que el ciclo es imposible en el JSON analizado, por lo que incluso las cargas útiles profundamente anidadas generan un conjunto de tipos planos y legibles.
Herramientas relacionadas
¿Buscando “json a la estructura golang”, “ir al generador de estructuras”, “json para conectarse”? Estás en el lugar correcto. explorar todas las 19 herramientas.