NSJSONSerialization 柔光的暖阳◎ 2022-03-22 11:20 96阅读 0赞 **简介:** NSJSONSerialization 可以将 JSON 转换为 OC 对象或将 OC 对象转为 JSON 数据。 可以被转为 JSON 的对象具有以下属性: 1. 对象为 NSArray 或 NSDictionary; 2. 所有对象都是 `NSString`, `NSNumber`, `NSArray`, `NSDictionary`, or `NSNull`.的实例; 3. 字典的键值必须为 `NSString` 类型; 4. Numbers 不能是非数字或无穷大。 **常用用法:** 1.OC 对象 转为 JSON 类型数据 /** * @brief OC对象转为JSON数据 * * @param obj 指定要转换的数据 * @param opt 指定枚举值 通常使用kNilOptions * @param error 错误 * * @return 返回转换的JSON数据 */ + (nullable NSData *)dataWithJSONObject:(id)obj options:(NSJSONWritingOptions)opt error:(NSError **)error; /** * @brief 判断OC对象能否转为JSON数据 * * @param obj 指定要转换的数据 * * @return 返回结果 */ + (BOOL)isValidJSONObject:(id)obj; 例如:NSDictionary转为JSON数据 NSDictionary *dict = @{@"Adfewefwefwfeewe":@"1121314", @"Bfewfwef":@"22345", @"Cfewfw":@"313245g"}; // 判断 object 能否转为 JSON 数据 NSData *dataDict = nil; if ([NSJSONSerialization isValidJSONObject:dict]) { dataDict = [NSJSONSerialization dataWithJSONObject:dict options:kNilOptions error:nil]; NSLog(@"%@", dataDict); } 2.JSON类型数据转为OC对象 /** * @brief JSON类型数据转为OC对象 * * @param data 指定要转的数据 * @param opt 指定枚举值 * @param error 错误 * * @return 返回转换结果NSArray或NSDictionary */ + (nullable id)JSONObjectWithData:(NSData *)data options:(NSJSONReadingOptions)opt error:(NSError **)error; 例如:JSON类型数据转为OC对象 id result = [NSJSONSerialization JSONObjectWithData:dataDict options:kNilOptions error:nil]; if ([result isKindOfClass:[NSDictionary class]]) { NSDictionary *resultDict = (NSDictionary *)resultDict; } 注:本例中均使用NSDictionary作为比较!其他对象转换自行测试! 参考文档: [NSJSONSerialization][] [NSJSONSerialization]: https://developer.apple.com/library/ios/documentation/Foundation/Reference/NSJSONSerialization_Class/index.html#//apple_ref/doc/uid/TP40010946
相关 IOS学习之解析数据(NSJSONSerialization) 上一篇讲了 我们获取过来的数据格式是JSON格式的 大家可以搜下对应JSON转换类就可以按照对应的内容进行数据转换了 我这边呢就提供一下我的转换方式 我目前搭建的项目用到 雨点打透心脏的1/2处/ 2022年08月03日 11:58/ 0 赞/ 141 阅读
相关 NSJSONSerialization 简介: NSJSONSerialization 可以将 JSON 转换为 OC 对象或将 OC 对象转为 JSON 数据。 可以被转为 JSON 的对象具有以下属性: 1 柔光的暖阳◎/ 2022年03月22日 11:20/ 0 赞/ 97 阅读
还没有评论,来说两句吧...