JSON a Kotlin

Genera data classes de Kotlin a partir de JSON para kotlinx.serialization, Gson, Moshi o Jackson

JSON de entrada

Opciones

Modelo
Nombres de propiedad
Propiedades anulables
Serialización
Avanzado
Disposición de clases

Salida Kotlin

Pega JSON o carga un ejemplo para generar código Kotlin.

Qué genera JSON a Kotlin

JSON a Kotlin convierte una respuesta de API o cualquier muestra JSON en data classes de Kotlin para kotlinx.serialization, Gson, Moshi, Jackson o sin biblioteca. Cuando el nombre de una propiedad difiere de su clave, por ejemplo user_name → userName, la anotación de la biblioteca elegida (@SerialName, @SerializedName, @Json o @JsonProperty) la mapea de vuelta al JSON. Las palabras clave como class, object, when o fun se escriben entre comillas invertidas, y las claves que no son nombres válidos, como 123abc o user-name, se renombran con un mapeo o se conservan entre comillas invertidas, según el ajuste de nombres.

Cómo usarlo
  1. 1.Pega JSON, sube o suelta un archivo .json, o carga uno de los ejemplos.
  2. 2.Define el nombre del tipo raíz, los nombres de propiedad y la anulabilidad.
  3. 3.Elige la biblioteca de serialización y activa los valores predeterminados si quieres que cada clase tenga un constructor sin argumentos.
  4. 4.En Avanzado, define un paquete o anida las clases dentro de la clase raíz.
  5. 5.Lee las notas bajo la salida y luego copia el código o descarga el archivo .kt.
Cómo se infieren los tipos
  • •Se revisan todos los elementos de cada array, no solo el primero, y los objetos del mismo array se combinan.
  • •Una clave que falta en algunos objetos es opcional y pasa a ser T? = null; una clave que a veces es null pasa a ser T?. Ambos casos se distinguen, así que {"id": 1, "name": "A"} y {"id": 2} dan val name: String? = null.
  • •Los enteros que caben en 32 bits son Int, los mayores Long y los que superan 64 bits BigInteger (JsonPrimitive con kotlinx.serialization). Los valores más allá de ±2^53 reciben una nota, porque los clientes JavaScript pueden redondearlos.
  • •1 y 2.5 en la misma posición se amplían a Double; las demás mezclas se notifican.
  • •Correspondencia de tipos: cadena → String, decimal → Double, booleano → Boolean, array → List<T>, objeto → data class, objeto vacío → class, desconocido o mixto → Any? (JsonElement? con kotlinx.serialization).
Límites y privacidad

Una muestra refleja cómo eran los datos en un momento, no el contrato completo de la API. Revisa los campos opcionales, los tipos genéricos y el tamaño de los números antes de confiar en el código. El código generado necesita la configuración habitual de cada biblioteca: el plugin de serialización, la generación de código de Moshi o jackson-module-kotlin. Gson omite los constructores de Kotlin, así que las propiedades no anulables pueden recibir null salvo que todas tengan un valor predeterminado. La entrada se limita a 5 MB y 256 niveles de anidación; a partir de 2 MB, la generación espera al botón Generar. Todo se ejecuta en tu navegador y el JSON nunca se sube.

CodingTool ya está oficialmente disponible en

Launched on StartupBaseCodingTool.dev - Free, Fast & Easy Developer Tools in One Place | Product HuntCodingTool - Featured on Startup FameFazier badgeListed on Turbo0Featured on Twelve ToolsFeatured on Findly.toolsLaunchpadly Startup DirectoryCodingTool.dev — Featured on Smol Launch