//
// 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