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