這篇文章將為大家詳細講解有關(guān)Objective-C Json怎么用,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
創(chuàng)新互聯(lián)致力于成都做網(wǎng)站、網(wǎng)站建設(shè),成都網(wǎng)站設(shè)計,集團網(wǎng)站建設(shè)等服務(wù)標(biāo)準化,推過標(biāo)準化降低中小企業(yè)的建站的成本,并持續(xù)提升建站的定制化服務(wù)水平進行質(zhì)量交付,讓企業(yè)網(wǎng)站從市場競爭中脫穎而出。 選擇創(chuàng)新互聯(lián),就選擇了安全、穩(wěn)定、美觀的網(wǎng)站建設(shè)服務(wù)!Objective-C Json 實例詳解
通過使用NSJSONSerialization 可以Json與Foundation的相互轉(zhuǎn)換。下面具體介紹 Objective-c json 的使用。
Json To Fundation
使用 JSONObjectWithData 可以將 Json 轉(zhuǎn)化為 Foundation。Json的頂層可以是{} 或 []因此可以有 NSDictionary 和 NSArray 兩種格式。讀取使用 ObjectForKey 返回對應(yīng)的對象。
NSString* items = @"{"items":["item0","item1","item2"]}"; NSData *data= [items dataUsingEncoding:NSUTF8StringEncoding]; NSError *error = nil; id jsonObject = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:&error]; if ([jsonObject isKindOfClass:[NSDictionary class]]){ NSDictionary *dictionary = (NSDictionary *)jsonObject; NSLog(@"Dersialized JSON Dictionary = %@", dictionary); }else if ([jsonObject isKindOfClass:[NSArray class]]){ NSArray *nsArray = (NSArray *)jsonObject; NSLog(@"Dersialized JSON Array = %@", nsArray); } else { NSLog(@"An error happened while deserializing the JSON data."); } NSDictionary *dict = (NSDictionary *)jsonObject; NSArray* arr = [dict objectForKey:@"items"]; NSLog(@"list is %@",arr);
Fundation To Json
使用 dataWithJsonObject 可以將 Fundation 轉(zhuǎn)換為 Json。其中 options:NSJSONWritingPrettyPrinted 是分行輸出json ,無空格輸出使用 option:kNilOptions。
下面這段代碼是IOS內(nèi)購獲取商品列表。獲取后,將內(nèi)容添加到Json中。
NSArray *myProduct = response.products; NSDictionary *myDict; NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithCapacity: 4]; for(int i = 0;i<myProduct.count;++i) { //NSLog(@"----------------------"); //NSLog(@"Product title: %@" ,[myProduct[i] localizedTitle]); //NSLog(@"Product description: %@" ,[myProduct[i] localizedDescription]); //NSLog(@"Product price: %@" ,[myProduct[i] price]); //NSLog(@"Product id: %@" ,[myProduct[i] productIdentifier]); myDict = [NSDictionary dictionaryWithObjectsAndKeys: [myProduct[i] localizedTitle], @"title", [myProduct[i] localizedDescription], @"desc", [myProduct[i] price], @"price", [myProduct[i] productIdentifier], @"product", nil]; [dict setValue: myDict forKey: [myProduct[i] productIdentifier]]; } if([NSJSONSerialization isValidJSONObject:dict]) { NSError* error; NSData *str = [NSJSONSerialization dataWithJSONObject:dict options:kNilOptions error:&error]; NSLog(@"Result: %@",[[NSString alloc]initWithData:str encoding:NSUTF8StringEncoding]); } else { NSLog(@"An error happened while serializing the JSON data."); }
關(guān)于“Objective-C Json怎么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.cdcxhl.com,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。