认识一下json 转 NSObject 和 NSObject转json

json 转 NSObject 和 NSObject转json

//1:对象需要实现NSCoding协议
- (void)encodeWithCoder:(NSCoder *)aCoder{
    
    [aCoder encodeObject:self.uid forKey:@"uid"];
    [aCoder encodeObject:self.pwd forKey:@"pwd"];
    [aCoder encodeObject:self.headerPortaitUrl forKey:@"headerPortaitUrl"];
}
- (id)initWithCoder:(NSCoder *)aDecoder{
    
    self.uid = [aDecoder decodeObjectForKey:@"uid"];
    self.pwd = [aDecoder decodeObjectForKey:@"pwd"];
    self.headerPortaitUrl = [aDecoder decodeObjectForKey:@"headerPortaitUrl"];
    return self;
}

//2:转json和转object
NSData *data= [NSKeyedArchiver archivedDataWithRootObject:[UserInfo sharedUserInfo]];
[[self userDefaults] setObject:data forKey:@"userinfo"];
[[self userDefaults] synchronize];

NSData *cacheData = [[NSUserDefaults standardUserDefaults] objectForKey:@"userinfo" ];
UserInfo *cacheUserinfo= [NSKeyedUnarchiver unarchiveObjectWithData:cacheData];

json 转 NSArray 和 NSDictionary


var json1="{\"中国\":{ \"北京\":{\"北京1\":1,\"北京2\":2,\"北京3\":3},  \"上海\":{\"上海1\":4,\"上海2\":5,\"上海3\":6},\"广州\":{\"广州1\":7,\"广州2\":8,\"广州3\":9}}}";
var json2="[{\"test\":\"1\"},{\"test2\":\"2\"}]";

var data1 = json1.dataUsingEncoding(NSUTF8StringEncoding);
var data2 = json2.dataUsingEncoding(NSUTF8StringEncoding);

var obj1:NSDictionary = NSJSONSerialization.JSONObjectWithData(data1!, options: NSJSONReadingOptions.allZeros, error: nil) as NSDictionary
var obj2:NSArray = NSJSONSerialization.JSONObjectWithData(data2!, options: NSJSONReadingOptions.allZeros, error: nil)
    as NSArray

//
for (key,value) in obj1{
    println("\(key)\(value)");
}
for item in obj2{
    println("\(item)");
}

obj2.firstObject?.objectForKey("test")

NSArray NSDictionary 转 NSString

var re_jsonData1 = NSJSONSerialization.dataWithJSONObject(obj1, options: NSJSONWritingOptions.allZeros, error: nil);

var re_json1 = NSString(data: re_jsonData1!, encoding: NSUTF8StringEncoding);

var re_jsonData2 = NSJSONSerialization.dataWithJSONObject(obj2, options: NSJSONWritingOptions.allZeros, error: nil);

var re_json2 = NSString(data: re_jsonData2! , encoding: NSUTF8StringEncoding)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • JSON JSON和XML都是需要解析的 JSON是一种轻量级的数据格式,一般用于数据交互服务器返回给客户端的数据...
    JonesCxy阅读 5,899评论 2 10
  • 概述 ​ iOS源码解析—YYModel(YYClassInfo)分析了如何根据OC的Class对象构建...
    egoCogito_panf阅读 14,006评论 4 32
  • 如何集成? 支持CocoaPods,在 Podfile 中添加 pod 'YYModel'。 支持Carthage...
    松哥888阅读 13,785评论 0 7
  • 表弟从深圳回来了。早就听说他买了小车,还在县城里买了房子,过起了小康生活。 许久没见到他,我打电话给他说请他吃饭。...
    妖妖不逃阅读 2,206评论 2 4
  • “我知道会吓到你的,但我不是一个婆婆妈妈的人,做事从不拖泥带水。本来我并没有别的想法,只是想请你吃顿饭而已。可是听...
    冬妮娅阅读 1,324评论 0 2

友情链接更多精彩内容