iOS中經常需要將自定義對象轉換成JSON格式的數據作為網絡請求參數等用途。本文主要介紹iOS如何實現自定義對象向JSON格式的轉換,主要使用的是NSJSONSerialization。
NSJSONSerialization是iOS自帶的JSON框架,可以把JSON字符串轉化為Foundation對象或者把Foundation對象轉化為JSON字符串,使用起來十分方便。
首先,我們需要定義一個自定義對象,并將其轉換成字典類型。
@interface Person : NSObject @property (nonatomic, copy) NSString *name; @property (nonatomic, assign) int age; @end @implementation Person @end Person *person = [[Person alloc] init]; person.name = @"Tom"; person.age = 18; NSDictionary *personDict = @{@"name": person.name, @"age": @(person.age)};
然后,我們可以將上面轉換得到的字典類型使用NSJSONSerialization轉化為JSON格式的數據。
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:personDict options:NSJSONWritingPrettyPrinted error:nil]; NSString *jsonStr = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; NSLog(@"personDict: %@", personDict); NSLog(@"jsonStr: %@", jsonStr);
使用上述方法,我們成功將自定義對象轉化為了JSON格式的數據,以便與其他系統進行數據交互。