JSON a clase Dart
Convierte una muestra JSON en una clase Dart con fromJson, toJson y modelos anidados.
JSON a clase Dart
Pega una muestra JSON y esta herramienta infiere la forma de los datos y genera una clase Dart coincidente, del tipo que de otro modo escribirías a mano para un modelo de Flutter. Los objetos anidados se convierten en sus propias clases, los arreglos se convierten en campos `List<...>` tipados, y cada clase incluye un constructor nombrado, una factoría `fromJson` y un método `toJson`, para que el resultado se inserte directamente en un proyecto Flutter o Dart.
Las opciones controlan el estilo del código generado. "Nombre de la clase" establece la clase raíz; las clases anidadas toman el nombre de su clave JSON. "Seguridad nula con campos requeridos" marca los campos que están presentes en cada muestra como `required` con un tipo no anulable, y los campos que a veces faltan o son nulos como anulables y opcionales; desactívala para que todos los campos sean anulables en su lugar. "Anotaciones json_serializable" sustituye los cuerpos `fromJson`/`toJson` escritos a mano por `@JsonSerializable()` y `@JsonKey`, que delegan en un archivo `.g.dart` generado. "Campos finales" la hace inmutable; "Generar copyWith" copia con cambios sin mutar el original, y "Generar == y hashCode" agrega igualdad de valores. "Indentación" alterna entre sangría de 2 y 4 espacios.
Cuando la misma forma de objeto se repite (un arreglo de elementos que todos tienen los mismos campos, por ejemplo), la herramienta reutiliza una clase en lugar de generar un duplicado para cada ocurrencia, y un campo que solo falta en algunas entradas de un arreglo se infiere correctamente como opcional en lugar de requerido. Las claves JSON que no son identificadores Dart válidos, usan mayúsculas diferentes o chocan con una palabra clave o un nombre de método generado (como `copyWith` o `hashCode`) se renombran automáticamente en el lado de Dart mientras se conserva la clave original para codificar y decodificar.
Todo se ejecuta localmente en tu navegador: ninguna muestra JSON se carga nunca en ningún lado, lo que importa si contiene datos de usuarios reales o la forma de respuesta de una API interna. Copia la clase, descárgala como archivo .txt o envía la salida nuevamente a la entrada para convertir una pieza anidada adicional.