Objective-C till JSON Converter
Klistra in Objective-C dictionaries, arrays eller classes. Du får JSON tillbaka.
Vad verktyget gör
Om du har en Objective-C-NSDictionary-literal, en NSArray av models, eller en hel class med en hög @property-deklarationer, och du bara vill ha JSON-representationen — så gör verktyget det. Ingen anledning att skriva ett engångsprogram som anropar NSJSONSerialization bara för att se outputen.
Outputen matchar det [NSJSONSerialization dataWithJSONObject:options:error:] skulle ge dig på motsvarande in-memory object graph. NSDictionary blir ett JSON-object, NSArray blir en JSON-array, NSString förblir en string, NSNumber blir number eller boolean beroende på underliggande typ (@YES/@NO vs @42), NSNull / [NSNull null] blir null. NSDate kommer ut som ISO-8601-string — konventionen som de flesta iOS-appar landar i.
Om du klistrar in en hel class (@interface Order : NSObject ... @end plus en @implementation eller en [[Order alloc] init]-literal med property-assignments) läser konvertern varje @property och bygger JSON-objectet med de nycklarna. Nästlade classes — en Address-property på Order — expanderas till nästlade JSON-objects. Flera classes inklistrade tillsammans kommer ut som flera top-level-entries.
Så använder du det
Tre steg. Funkar lika bra för en enda dictionary-literal som för en fil full av classes.
Klistra in din Objective-C (eller testa exemplet)
Släpp koden i vänstra editorn. En NSDictionary-literal, en NSArray, en class med @property, eller en class-instance med assignments — allt funkar.
Låt @-prefixen, pointer-stjärnorna och bracket-syntaxen vara. Parsern fattar @{...}, @[...] och @"...".
Klicka Konvertera
Klicka på den gröna Konvertera-knappen. Verktyget läser varje dictionary, array, property och value och bygger JSONen i en enda pass.
Kopiera JSONen
Högra panelen ger dig indenterad JSON, redo för en test fixture, en API-mock eller dokumentation. Kopiera och vidare.
När det verkligen räddar dagen
iOS API response-fixtures
Klistra in dictionaryn du skulle skicka till <code>dataWithJSONObject:</code> i ett unit test och spara outputen som .json-fixture. Håller testet deterministiskt.
Dokumentera legacy Obj-C-models
En gammal iOS-codebase har Obj-C-classes du behöver dokumentera i en OpenAPI-spec. Konvertera varje model till JSON för att få schema-formen utan att gissa.
Porta till Swift
Som del av Swiftificationen vill du ha JSON-formen som varje Obj-C-class implicerar. Snabbt sätt att generera den referensen innan du skriver Codable-structen.
Backend-handoff
Du har ett NSDictionary redo att POSTa. Klistra in för att dubbelkolla att JSON-formen matchar API-contractet innan requesten går iväg.
Vanliga frågor
Matchar det NSJSONSerialization-outputen?
Ja — det är målet. NSDictionary/NSArray/NSString/NSNumber/NSNull mappas på standardvis. NSDate stringifieras som ISO-8601 (NSJSONSerialization självt hanterar inte NSDate — verktyget tar den utbredda konventionen).
Kan jag klistra in en class med @property-deklarationer?
Ja. Varje @property blir en nyckel i JSON-objectet, och typen styr hur värdet emits (t.ex. NSString * → string, NSNumber * → number). Om exemplet även har property-assignments hamnar de värdena i JSONen; annars används placeholder-värden.
Hur skiljs BOOL och NSNumber åt?
@YES / @NO och [NSNumber numberWithBool:] emits som JSON true/false. Integer- och float-NSNumber-literals (@42, @3.14) emits som JSON-numbers — samma regel NSJSONSerialization applicerar när den kan utläsa det från encoded type.
Hur är det med nästlade classes och arrays av objects?
Nästlade NSDictionary och NSArray expanderas fullt ut. En class som har en annan class som property kommer ut som ett nästlat JSON-object. En NSArray av model-instances blir en JSON-array av objects, en per instance.
Sparas min kod?
Din kod skickas till backendet för konverteringen och persisteras inte — vi loggar inte payloaden. Maskera ändå riktiga keys eller tokens i exemplet innan du klistrar in.
Hanterar den NSDate, NSURL och andra Foundation-typer?
NSDate blir en ISO-8601-string. NSURL blir dess absoluteString. NSData blir base64. Det är konventionerna de flesta iOS-teams använder när de serialiserar, dokumenterade i Foundation.
Andra verktyg du kan behöva
Objective-C till JSON funkar bra ihop med resten av verktygslådan: