Convertidor de Objective-C a JSON
Pega diccionarios, arrays o clases de Objective-C. Recibes JSON de vuelta.
Qué hace esta herramienta
Si tienes un literal NSDictionary de Objective-C, un NSArray de modelos, o una clase entera con un montón de declaraciones @property, y solo quieres la representación JSON — esta herramienta te la da. Sin montar un programa de usar y tirar que llame a NSJSONSerialization para ver la salida.
La salida coincide con lo que te daría [NSJSONSerialization dataWithJSONObject:options:error:] sobre el mismo grafo de objetos en memoria. NSDictionary pasa a objeto JSON, NSArray pasa a array JSON, NSString queda como string, NSNumber se vuelve número o booleano según el tipo subyacente (@YES/@NO frente a @42), NSNull / [NSNull null] se vuelve null. NSDate se emite como string ISO-8601 — la convención en la que acaba casi cualquier app de iOS.
Si pegas una clase entera (@interface Order : NSObject ... @end más un @implementation o un literal [[Order alloc] init] con asignaciones de propiedades), el conversor lee cada @property y construye el objeto JSON con esas claves. Las clases anidadas — una propiedad Address dentro de Order — se expanden como objetos JSON anidados. Varias clases pegadas juntas salen como varias entradas de nivel superior.
Cómo usarlo
Tres pasos. Funciona igual con un solo literal de diccionario o con un archivo lleno de clases.
Pega tu Objective-C (o prueba el ejemplo)
Suelta tu código en el editor de la izquierda. Un literal NSDictionary, un NSArray, una clase con @property o una instancia de clase con asignaciones — todo vale.
Deja los prefijos @, los asteriscos de puntero y los corchetes en paz. El parser entiende @{...}, @[...] y @"...".
Dale a Convertir
Haz clic en el botón verde Convertir. La herramienta lee cada diccionario, array, property y valor, y construye el JSON de una sola pasada.
Copia el JSON
El panel derecho te deja el JSON indentado, listo para un fixture de test, un mock de API o documentación. Copia y sigue.
Cuándo te saca de verdad de un apuro
Fixtures de respuesta de API en iOS
Pega el diccionario que le pasarías a <code>dataWithJSONObject:</code> en un test unitario y guarda la salida como fixture .json. Mantiene el test determinista.
Documentar modelos Obj-C legacy
Una base de código iOS vieja tiene clases Obj-C que necesitas documentar en una spec OpenAPI. Convierte cada modelo a JSON para sacar la forma del schema sin adivinar.
Migración a Swift
Como parte del paso a Swift, quieres la forma JSON implícita en cada clase Obj-C. Es una vía rápida para generar esa referencia antes de escribir el struct Codable.
Handoff al backend
Tienes un NSDictionary listo para hacer POST. Pégalo para comprobar que el JSON encaja con el contrato de la API antes de disparar la request.
Preguntas frecuentes
¿Coincide con la salida de NSJSONSerialization?
Sí — ese es el objetivo. NSDictionary/NSArray/NSString/NSNumber/NSNull se mapean como siempre. NSDate se serializa como ISO-8601 (NSJSONSerialization en sí no maneja NSDate — la herramienta adopta la convención más extendida).
¿Puedo pegar una clase con declaraciones @property?
Sí. Cada @property se vuelve una clave del objeto JSON, y el tipo decide cómo se emite el valor (p. ej. NSString * → string, NSNumber * → número). Si el ejemplo incluye asignaciones de propiedades, esos valores rellenan el JSON; si no, se usan valores placeholder.
¿Cómo se distinguen BOOL y NSNumber?
@YES / @NO y [NSNumber numberWithBool:] emiten true/false en JSON. Los literales NSNumber enteros y flotantes (@42, @3.14) emiten números JSON — la misma regla que aplica NSJSONSerialization cuando puede inferirlo del tipo codificado.
¿Y las clases y arrays de objetos anidados?
Los NSDictionary y NSArray anidados se expanden del todo. Una clase que tiene otra clase como propiedad sale como objeto JSON anidado. Un NSArray de instancias de modelo se vuelve un array JSON de objetos, uno por instancia.
¿Se guarda mi código?
Tu código se envía al backend para la conversión y no se persiste — no logueamos el payload. Aun así, revisa el código y quita claves o tokens reales antes.
¿Maneja NSDate, NSURL y otros tipos de Foundation?
NSDate se vuelve un string ISO-8601. NSURL se vuelve su absoluteString. NSData se vuelve base64. Son las convenciones que usa casi cualquier equipo de iOS al serializar, documentadas en Foundation.
Otras herramientas que te pueden venir bien
Objective-C a JSON combina bien con el resto de la caja de herramientas: