Un convertitore di struttura da JSON a Go trasforma un documento JSON nelle dichiarazioni di tipo Go che lo descrivono, in modo da poter demarshalizzare gli stessi dati con encoding/json invece di digitare la struttura a mano Ogni oggetto JSON diventa una struttura Go, ogni campo porta un tag json: "key" che lo mappa nuovamente al nome originale, e i tipi scalari sono dedotti dai valori: una stringa JSON diventa stringa, un numero intero diventa int, un decimale diventa float64, true e false diventano bool, e null diventa interfaccia{} Incolla un payload e ottieni un blocco di tipo pronto per la compilazione indietro.
Esiste perché scrivere le strutture Go da una risposta API reale è noioso e facile da sbagliare sottilmente I nomi dei campi devono essere esportati e seguire le convenzioni Go, quindi id diventa ID e user_url diventa UserURL, mentre il tag json deve preservare l'esatta chiave originale o json.Unmarshal salta silenziosamente il campo Gli oggetti nidificati hanno bisogno di una propria struttura e una matrice di oggetti ha bisogno di una singola struttura che copra ogni chiave di qualsiasi elemento Fare in modo che attraverso una risposta profondamente annidata sia dove gli errori si insinuano Il convertitore applica queste regole in modo coerente: gli oggetti nidificati diventano strutture in linea e le matrici di oggetti vengono unite in modo che una chiave che appare solo in alcuni elementi sia ancora presente nel tipo generato.
Tutto viene eseguito nel browser Il JSON che incolli viene analizzato e analizzato in JavaScript sul tuo dispositivo, quindi non viene caricato, registrato o archiviato nulla e lo strumento continua a funzionare con la rete disconnessa una volta caricata la pagina Ciò è importante quando il payload è una risposta API privata o contiene chiavi e valori che preferiresti non inviare da nessuna parte Puoi rinominare il tipo root, passare i numeri interi a int64 quando hai bisogno del tipo più ampio e aggiungere omissione a ogni tag quando desideri che i valori zero vengano omessi dall'output codificato.
Incolla un oggetto o un array JSON nella casella di input Carica prima il campione se vuoi vedere la forma della struttura generata prima di utilizzare i tuoi dati.
Inserisci un nome per la struttura di primo livello, ad esempio Utente o ApiResponse Viene ripulito in un identificatore Go esportato valido in modo che venga compilato come scritto.
Scegli int o int64 per i numeri interi e attiva omitempty se desideri che i campi vuoti vengano esclusi quando la struttura viene codificata nuovamente in JSON.
Fare clic su Converti per creare le definizioni struct, quindi copiarle nel file Go JSON non valido viene segnalato con il messaggio del parser esatto in modo da poterlo correggere.
Ogni campo mantiene un tag json: "original_key" in modo che json.Unmarshal mappi i dati al nome JSON esatto, anche quando il campo Go viene rinominato per seguire le convenzioni.
Le chiavi vengono esportate e le inizializzazioni comuni vengono sovradimensionate, quindi id diventa ID, user_url diventa UserURL e html_body diventa HTMLBody, corrispondendo alle aspettative di golint.
Gli oggetti JSON nidificati diventano letterali strutturali in linea a qualsiasi profondità, quindi l'intera forma vive in un'unica dichiarazione che puoi incollare come un singolo blocco.
Una serie di oggetti produce una struttura che copre ogni chiave posseduta da qualsiasi elemento e i tipi di valore in conflitto per una chiave ricadono nell'interfaccia {} anziché fallire.
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!