認(rèn)識一下json 轉(zhuǎn) NSObject 和 NSObject轉(zhuǎn)json

json 轉(zhuǎn) NSObject 和 NSObject轉(zhuǎn)json

//1:對象需要實(shí)現(xiàn)NSCoding協(xié)議
- (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:轉(zhuǎn)json和轉(zhuǎn)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 轉(zhuǎn) 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 轉(zhuǎn) 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)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容