方法1是JSON转OC对象
方法2是OC对象转JSON 以下是示例代码
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
[self OCtoJSON];
}
-(void)JSONToOC
{
NSURL *url=[NSURL URLWithString:@"http://120.25.226.186:32812/login?username=520it&pwd=520it&type=JSON"];
NSURLRequest *request=[NSURLRequest requestWithURL:url];
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse * _Nullable response, NSData * _Nullable data, NSError * _Nullable connectionError) {
/*
参数1:JSON的二进制数据
参数2:
参数3:错误信息
NSJSONReadingMutableContainers = (1UL << 0), 可变的字典和数组
NSJSONReadingMutableLeaves = (1UL << 1), 内部所有的字符串都是可变的(ios7之后一般不用)
NSJSONReadingAllowFragments = (1UL << 2) 既不是字典也不是数组,则必须使用该枚举值
*/
NSDictionary *dict=[NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
NSLog(@"%@",dict[@"error"]);
}];
}
-(void)OCtoJSON
{
//不是所有的OC对象都能转换成JSON
//可以用这个方法 判断:[NSJSONSerialization isValidJSONObject:<#(nonnull id)#>]
NSDictionary *dict =@{
@"name":@"Spencer",
@"age":@3
};
NSData *data=[NSJSONSerialization dataWithJSONObject:dict options:NSJSONWritingPrettyPrinted error:nil];
NSLog(@"%@",[[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding]);
}
@end