NSDictionary,NSArray转成NSData(JSON)NSString类型
// // NSDictionary+JSONorNSString.h // UIKit数据转换 // // Created by mac on 15-4-4. // Copyright (c) 2015年 www.swift.com. All rights reserved. // #import <Foundation/Foundation.h> @interface NSDictionary (JSONorNSString) /** * 转换成JSON串字符串(没有可读性) * * @return JSON字符串 */ - (NSString *)toJSONorNSString; /** * 转换成JSON串字符串(有可读性) * * @return JSON字符串 */ - (NSString *)toReadJSONorNSString; /** * 转换成JSONData(有可读性) * * @return JSONData */ - (NSData *)toJSONData; @end
// // NSDictionary+JSONorNSString.m // UIKit数据转换 // // Created by mac on 15-4-4. // Copyright (c) 2015年 www.swift.com. All rights reserved. // #import "NSDictionary+JSONorNSString.h" @implementation NSDictionary (JSONorNSString) - (NSString *)toJSONorNSString { NSData *data=[NSJSONSerialization dataWithJSONObject:self options:NSJSONReadingMutableLeaves|NSJSONReadingAllowFragments error:nil]; if (data == nil) { return nil; } NSString *str=[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; return str; } - (NSString *)toReadJSONorNSString { NSData *data=[NSJSONSerialization dataWithJSONObject:self options:NSJSONWritingPrettyPrinted error:nil]; if (data == nil) { return nil; } NSString *str=[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; return str; } - (NSData *)toJSONData { NSData *data=[NSJSONSerialization dataWithJSONObject:self options:NSJSONWritingPrettyPrinted error:nil]; return data; } @end
//
// NSArray+toJSONorNSString.m
// UIKit数据转换
//
// Created by mac on 15-4-4.
// Copyright (c) 2015年 www.swift.com. All rights reserved.
//
#import "NSArray+toJSONorNSString.h"
@implementation NSArray (toJSONorNSString)
- (NSString *)toJSONorNSString
{
NSData *data=[NSJSONSerialization dataWithJSONObject:self options:NSJSONReadingMutableLeaves|NSJSONReadingAllowFragments error:nil];
if (data == nil) {
return nil;
}
NSString *str=[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
return str;
}
- (NSString *)toReadJSONorNSString
{
NSData *data=[NSJSONSerialization dataWithJSONObject:self
options:NSJSONWritingPrettyPrinted
error:nil];
if (data == nil) {
return nil;
}
NSString *str=[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
return str;
}
- (NSData *)toJSONData
{
NSData *data=[NSJSONSerialization dataWithJSONObject:self
options:NSJSONWritingPrettyPrinted
error:nil];
return data;
}
@end
NSArray 实现跟字典一样
下面来看控制台输出
// // ViewController.m // UIKit数据转换 // // Created by mac on 15-4-4. // Copyright (c) 2015年 www.swift.com. All rights reserved. // #import "ViewController.h" #import "NSDictionary+JSONorNSString.h" #import "NSArray+toJSONorNSString.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; NSDictionary *dic=@{ @"name":@"jack", @"age":@17, @"phone":@1872223455 }; NSLog(@"dic%@",[dic toJSONorNSString]); //可读性不强 NSLog(@"dic%@",[dic toReadJSONorNSString]); //JSON数据格式 NSLog(@"dic%@",[dic toJSONData]); //字典转成NSData(json) NSArray *arr=@[@"name",@"jack",@"age",@17,@"phone",@1872223455]; NSLog(@"arr:%@",[arr toJSONorNSString]); NSLog(@"arr:%@",[arr toReadJSONorNSString]);//JSON数据格式 NSLog(@"arr:%@",[arr toJSONData]);//数组转成NSData(json) } @end
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。