iOS JSON解析,iosjson解析

來源:互聯網
上載者:User

iOS JSON解析,iosjson解析

解析json成dic對象  

  •   
  • -(void)fetchedData:(NSData*)responseData {//parse out the json dataNSError* error;  
  •     NSDictionary* json =[NSJSONSerialization   
  •         JSONObjectWithData:responseData //1  
  •    
  •         options:kNilOptions   
  •         error:&error];  
  •    
  •     NSArray* latestLoans =[json objectForKey:@"loans"]; //2  
  •    
  •     NSLog(@"loans: %@", latestLoans); //3  
  • }  
  •   
  • 把對象產生json string  
  • //build an info object and convert to json  
  • NSDictionary* info =[NSDictionary dictionaryWithObjectsAndKeys:[loan objectForKey:@"name"],   
  •     @"who",  
  •   [(NSDictionary*)[loan objectForKey:@"location"]   
  •     objectForKey:@"country"],   
  •     @"where",  
  •   [NSNumber numberWithFloat: outstandingAmount],   
  •     @"what",  
  •   nil];  
  •    
  • //convert object to data  
  • NSData* jsonData =[NSJSONSerialization dataWithJSONObject:info   
  •   options:NSJSONWritingPrettyPrinted error:&error];  
  •   
  • //print out the data contents  
  • jsonSummary.text =[[NSString alloc] initWithData:jsonData                                          
  •   encoding:NSUTF8StringEncoding];  
  •   
  • 添加json方法至dic  
  • @interfaceNSDictionary(JSONCategories)  
  • +(NSDictionary*)dictionaryWithContentsOfJSONURLString:(NSString*)urlAddress;  
  • -(NSData*)toJSON;  
  • @end  
  •    
  • @implementationNSDictionary(JSONCategories)  
  • +(NSDictionary*)dictionaryWithContentsOfJSONURLString:(NSString*)urlAddress{  
  •     NSData* data =[NSData dataWithContentsOfURL:[NSURL URLWithString: urlAddress]];  
  •     __autoreleasing NSError* error =nil;  
  •     id result =[NSJSONSerialization JSONObjectWithData:data   
  •       options:kNilOptions error:&error];  
  •     if(error !=nil)returnnil;  
  •     return result;  
  • }  
  •    
  • -(NSData*)toJSON{  
  •     NSError* error =nil;  
  •     id result =[NSJSONSerialization dataWithJSONObject:self   
  •       options:kNilOptions error:&error];  
  •     if(error !=nil)returnnil;  
  •     return result;      
  • }@end  
  •   
  • 使用列子  
  • NSDictionary* myInfo =[NSDictionary dictionaryWithContentsOfJSONURLString:@"http://www.yahoo.com/news.json"];  
  • NSDictionary* information =[NSDictionary dictionaryWithObjectsAndKeys:@"orange",@"apple",@"banana",@"fig",nil];  
  • NSData* json =[information toJSON];  
  •   
  • 判斷是否可json化  
  •   
  • BOOL isTurnableToJSON =[NSJSONSerialization isValidJSONObject: object]  

iOS開發,json檔案怎使用

JSON 一般是從網路介面中請求的一段資料吧.首先你要向伺服器發送一個請求,得到一段JSON,然後解析一下就行了.用到ASIHTTPRequest和SBJSON兩個第三方的開源類庫.

NSURL * url = [NSURL URLWithString:[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];

sendRequest = [ASIHTTPRequest requestWithURL:url];

[sendRequest setTimeOutSeconds:30];

[sendRequest setDelegate: self];

[sendRequest startAsynchronous];

- (void)requestFinished:(ASIHTTPRequest *)request

{

NSString *responseString = [request responseString];

if (responseString==nil || [responseString JSONValue] == nil) {

return;

}

NSDictionary *responseDict = [responseString JSONValue];

int result = [[responseDict objectForKey:@"status"] intValue];

if (result == 1) {

NSArray *location = [responseDict objectForKey:@"locations"];

...............................

}
 
ios開發:怎取出json裡面的欄位值?

早就不用第三方庫了,參考內建的類
NSJSONSerialization
id result = [NSJSerialization JSONObjectWithData:jsonData
options:NSJSONReadingMutableLeaves
error:&error];

參考:blog.csdn.net/...888559
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.