Un convertidor de estructura JSON to Go convierte un documento JSON en declaraciones de tipo Go que lo describen, por lo que puede descomprimir los mismos datos con codificación/json en lugar de escribir la estructura a mano. Cada objeto JSON se convierte en una estructura Go, cada campo lleva una etiqueta json:"key" que lo asigna al nombre original, y los tipos escalares se infieren de los valores: una cadena JSON se convierte en cadena, un número entero se vuelve int, un decimal se convierte en float64, verdadero y falso se vuelven bool, y nulo se convierte en interfaz{}. Pegue una carga útil y obtendrá un bloque de tipo listo para compilar.
Existe porque escribir estructuras Go a partir de una respuesta API real es tedioso y es fácil equivocarse sutilmente. Los nombres de los campos deben exportarse y seguir las convenciones de Go, por lo que id se convierte en ID y user_url se convierte en UserURL, mientras que la etiqueta json debe preservar la clave original exacta o json. Unmarshal omite silenciosamente el campo. Los objetos anidados necesitan su propia estructura y una matriz de objetos necesita una única estructura que cubra todas las claves que tenga cualquier elemento. Hacer eso a través de una respuesta profundamente anidada es donde se introducen errores. El convertidor aplica estas reglas de manera consistente: los objetos anidados se convierten en estructuras en línea y las matrices de objetos se fusionan para que una clave que aparece solo en algunos elementos siga presente en el tipo generado.
Todo se ejecuta en tu navegador. El JSON que pegas se analiza y analiza en JavaScript en tu propio dispositivo, por lo que no se carga, registra ni almacena nada, y la herramienta sigue funcionando con la red desconectada una vez que la página se ha cargado. Eso importa cuando la carga útil es una respuesta API privada o contiene claves y valores que preferiría no enviar a ninguna parte. Puede cambiar el nombre del tipo raíz, cambiar números enteros a int64 cuando necesite el tipo más amplio y agregar omisión a cada etiqueta cuando desee omitir valores cero en la salida codificada.
Pegue un objeto o matriz JSON en el cuadro de entrada. Cargue la muestra primero si desea ver la forma de la estructura generada antes de usar sus propios datos.
Ingrese un nombre para la estructura de nivel superior, como Usuario o ApiResponse. Se limpia en un identificador Go exportado válido para que se compile tal como está escrito.
Elija int o int64 para números enteros y active omitempty si desea que los campos vacíos queden fuera cuando la estructura se codifique nuevamente en JSON.
Haga clic en Convertir para crear las definiciones de estructura y luego cópielas en su archivo Go. JSON no válido se informa con el mensaje exacto del analizador para que pueda solucionarlo.
Cada campo mantiene una etiqueta json:"original_key", por lo que json.Unmarshal asigna los datos al nombre exacto de JSON, incluso cuando se cambia el nombre del campo Ir para seguir las convenciones.
Las claves se exportan y las iniciales comunes ocupan un lugar superior, por lo que id se convierte en ID, user_url se convierte en UserURL y html_body se convierte en HTMLBody, coincidiendo con las expectativas de golint.
Los objetos JSON anidados se convierten en literales de estructura en línea a cualquier profundidad, por lo que toda la forma vive en una sola declaración que puedes pegar como un solo bloque.
Una matriz de objetos produce una estructura que cubre cada clave que tiene cualquier elemento, y tipos de valores en conflicto para una clave recurren a la interfaz{} en lugar de fallar.
Generate a JSON Schema from any JSON sample. Infers types, merges arrays of objects into one item schema, derives required fields, and detects date-time, email, uri, and uuid formats. Draft-07 and 2020-12 output. 100% client-side.
Sort the keys of a JSON object alphabetically, recursively through nested objects, with optional array sorting. Ascending or descending, minify or pretty. Client-side, no signup.
Convert JSON into a PHP array literal. Choose short [] or array() syntax, indentation, and an optional variable assignment, then copy the result. 100% in your browser.
Generate TypeScript interfaces from any JSON sample. Infers nested types, merges arrays of objects into a single interface, marks nullable and missing keys optional, and emits clean exportable code. 100% client-side.
0 comments
No comments yet. Be the first to share your thoughts!