iOS開發中,經常需要將數組轉化為JSON字典,以便于在網絡通信中進行傳輸或者存儲。下面,我們將介紹幾種常用的數組轉JSON字典的方法。
// 1. 使用NSJSONSerialization NSArray *arr = @[@{@"name":@"Tom",@"age":@18},@{@"name":@"Jack",@"age":@20}]; NSError *error = nil; NSData *jsonData = [NSJSONSerialization dataWithJSONObject:arr options:NSJSONWritingPrettyPrinted error:&error]; if (!error) { NSString *jsonStr = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; }
以上代碼通過NSJSONSerialization將NSArray轉化為JSON字符串。其中,options參數用于設置JSON的格式,如設置為NSJSONWritingPrettyPrinted則可以以更易讀的方式輸出。
// 2. 使用第三方框架MJExtension @interface Person : NSObject @property (nonatomic, copy) NSString *name; @property (nonatomic, assign) NSInteger age; @end @implementation Person MJExtensionCodingImplementation @end NSArray *arr = @[[Person mj_objectWithKeyValues:@{@"name":@"Tom",@"age":@18}], [Person mj_objectWithKeyValues:@{@"name":@"Jack",@"age":@20}]]; NSString *jsonStr = [arr mj_JSONString];
以上代碼使用MJExtension將自定義的Person對象轉化為JSON字符串。需要注意的是,Person對象需要遵循MJExtensionCoding協議,使用MJExtension中提供的宏可以輕松實現。
綜上,我們提供了兩種常用的數組轉JSON字典的方法,可以根據實際需求進行選擇。