YamlBox

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.

Opciones de conversión

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

  1. 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.

  2. 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.

  3. 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.

¿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.

Lectura más profunda

Artículo de blog · 5 min de lectura JSON to Go: estructuras que se descomponen en el primer Convierta JSON en estructuras Go con nombres de campo y etiquetas json correctos, incluidos los tipos anidados, además de las trampas numéricas, nulas y de tiempo que debe observar. Leer la guía →