JSON的序列化,代码示例:
NSDictionary *dic = @{@"name":@"zhuzhu", @"age":@25};
if (![NSJSONSerialization isValidJSONObject:dic]) {
NSLog(@"该对象不支持转换");
return;
}
/**
- Top level object is an NSArray or NSDictionary
- All objects are NSString, NSNumber, NSArray, NSDictionary, or NSNull
- All dictionary keys are NSStrings
- NSNumbers are not NaN or infinity
*/
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dic options:kNilOptions error:nil];
NSString *jsonStr = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
NSLog(@"%@", jsonStr);
JSON的反序列化,代码示例:
NSDictionary *dic = @{@"name":@"zhuzhu", @"age":@25};
if (![NSJSONSerialization isValidJSONObject:dic]) {
NSLog(@"该对象不支持转换");
return;
}
/**
- Top level object is an NSArray or NSDictionary
- All objects are NSString, NSNumber, NSArray, NSDictionary, or NSNull
- All dictionary keys are NSStrings
- NSNumbers are not NaN or infinity
*/
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dic options:kNilOptions error:nil];
// 反序列的代码
NSDictionary *jsonDic = [NSJSONSerialization JSONObjectWithData:jsonData options:kNilOptions error:nil]; NSLog(@"dic=%@", jsonDic);