Qualquer objeto ou array JSON
Padrao: "Root"
Go, TS, Python ou Java
Cole JSON e clique em Gerar para ver a saida
Cole JSON — obtenha definicoes de tipo Go, TypeScript, Python e Java instantaneamente
Qualquer objeto ou array JSON
Padrao: "Root"
Go, TS, Python ou Java
Cole JSON e clique em Gerar para ver a saida
| Tipo JSON | Exemplo | Go | TypeScript | Python | Java |
|---|---|---|---|---|---|
| string | "hello" | string | string | str | String |
| integer | 42 | int | number | int | Integer |
| float | 3.14 | float64 | number | float | Double |
| boolean | true | bool | boolean | bool | Boolean |
| null | null | interface{} | unknown | Any | Object |
| array | [1,2,3] | []T | T[] | list[T] | List<T> |
| object | {"a":1} | struct{...} | interface{...} | @dataclass class | class{...} |
Integracao de API e o caso de uso mais comum: recebe uma resposta JSON de uma API REST ou GraphQL e precisa de modelos tipados na sua linguagem de eleicao. Escrever definicoes de struct manualmente a partir de uma grande resposta JSON e tedioso e propenso a erros — um objeto JSON de 100 linhas pode levar mais de 30 minutos para escrever manualmente, e um unico tipo de campo mal correspondido causa erros em tempo de execucao. Ficheiros de configuracao (package.json, terraform.tfstate, docker-compose.yml) sao outra fonte frequente: os programadores querem acesso type-safe aos dados de configuracao. Pipelines de geracao de codigo usam ferramentas JSON-para-tipo como um primeiro passo antes de gerar codigo de serializacao, esquemas de base de dados ou documentacao de API. Esta ferramenta gera as saidas das 4 linguagens a partir de uma unica entrada JSON — sem registo, sem chave API, resultados instantaneos.
Go: Os nomes dos campos usam PascalCase com tags struct json:"nome_do_campo". Campos string usam string; numeros usam float64 por padrao, a menos que sejam claramente inteiros. Objetos aninhados tornam-se tipos struct aninhados. A tag struct preserva a chave JSON original para marshaling/unmarshaling.
TypeScript: As interfaces usam PascalCase (ex.: Root, Address). Campos opcionais (de valores null) recebem o modificador ?. Arrays usam sintaxe T[]. Tipos de uniao sao gerados para arrays com tipos de elementos mistos.
Python: Usa o decorador @dataclass com anotacoes de tipo. Campos recebem Optional[T] para valores anulaveis. Objetos aninhados tornam-se classes dataclass aninhadas. Os imports from dataclasses import dataclass e from typing import List, Optional estao incluidos.
Java: Gera classes POJO (Plain Old Java Object) com campos privados, getters/setters publicos e colecoes genericas adequadas. Usa List<T> para arrays, Integer/Double/Boolean para wrappers de primitivos anulaveis.
Cole o seu JSON, mude para o separador Go. A ferramenta gera Go structs adequadas com tags json:"...", tipos struct aninhados e tipos slice para arrays. Os campos usam PascalCase com a chave JSON original preservada nas tags struct.
Selecione o separador TypeScript apos colar o seu JSON. As interfaces sao geradas com modificadores opcionais para campos anulaveis, tipos array usando T[] e interfaces aninhadas para objetos aninhados.
Sim — todas as 4 linguagens sao geradas simultaneamente. Python: @dataclass com anotacoes de tipo e Optional/List de typing. Java: POJO com campos privados, getters/setters e colecoes genericas. Alterne os separadores para ver cada linguagem.
Os valores JSON sao mapeados: strings → string/str/String, inteiros → int/number/int/Integer, floats → float64/number/float/Double, booleanos → bool/boolean/bool/Boolean, null → interface{}/unknown/Any/Object, arrays → colecoes tipadas, objetos → tipos aninhados. Consulte a tabela de mapeamento de tipos acima.
Valores JSON null geram tipos opcionais/ponteiro: *T ou interface{} em Go, modificador ? em TypeScript, Optional[T] em Python, wrappers anulaveis em Java. Campos em falta em alguns elementos do array sao tratados como opcionais em todas as saidas.