NSDictionary,NSArray转成NSData(JSON)NSString类型
2015-04-04 10:38
603 查看
// // 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
相关文章推荐
- NSDictionary 或者NSArray(NSMutableArray) ==>> NSData ==>> NSString (Json):
- 随笔-常见的数据类型常用操作整理-NSString/NSArray/NSDictionary/NSData
- object c基础, 基本类型(NSString,char*NSDate,NSData),集合NSArray,NSMutableArray,NSDictionary,NSMutableDictionary,NSSet,NSMutableSet
- NSArray与NSString、NSData,NSDictionary与NSString、NSData 相互转化
- iOS中NSString,NSData和char的相互转换,JSON串转化为NSDictionary或NSArray
- iOS NSDictionary、NSData、JSON数据类型相互转换
- JSON<=NSDictionary<=转换=>NSData类型
- iOS字典转字符串类型,NSDictionary 转 NSString转JsonData
- NSData和NSString、NSDictionary、NSArray互转
- iOS NSDictionary、NSData、JSON等 数据类型相互转换
- iOS NSDictionary、NSData、JSON数据类型相互转换
- iOS NSDictionary、NSData、JSON数据类型相互转换
- 通过JSON实现NSString,NSDictionary(NSArray)相互转化
- iOS NSDictionary、NSData、JSON数据类型相互转换
- IOS详解深拷贝和浅拷贝的概念、具体的使用以及对于容器类(NSArray,NSDictionary 等)和非容器类(NSString,NSdata 等)拷贝的差异
- NSDictionary、NSArray、NSString、NSData互转
- 轻量级的将NSDictionary, NSArray, NSString转换为JSON格式字符串的NSString类目
- ios中NSString、NSArray、NSData、NSDictionary本地读写
- NSArray与NSString、NSData,NSDictionary与NSString、NSData 相互转化
- Objective-C NSString、NSArray、NSDictionary、NSData 存取至Document