在IOS中使用json,IOS使用json
1、從https://github.com/stig/json-framework/中下載json架構:json-framework
2、解壓下載的包,將class檔案夾下的所有檔案匯入到當前工程下。
3、在使用的檔案中加入匯入語句 :#import "SBJson.h"
4、將json字串轉為NSDictionary對象。
Cpp代碼
NSString *temp=@"{\"中國\":{
\"北京\":{\"北京1\":1,\"北京2\":2,\"北京3\":3},
\"上海\":{\"上海1\":4,\"上海2\":5,\"上海3\":6},
\"廣州\":{\"廣州1\":7,\"廣州2\":8,\"廣州3\":9}}}";
NSDictionary *items = [temp JSONValue];
NSString *temp=@"{\"中國\":{ \"北京\":{\"北京1\":1,\"北京2\":2,\"北京3\":3}, \"上海\":{\"上海1\":4,\"上海2\":5,\"上海3\":6}, \"廣州\":{\"廣州1\":7,\"廣州2\":8,\"廣州3\":9}}}"; NSDictionary *items = [temp JSONValue];
5、遞迴遍曆解析出的NSDictionary對象
Cpp代碼
-(void)visitDict:(NSDictionary *)dict{
NSArray *keys=[dict allKeys];
for (NSString *key in keys) {
NSString *result=[NSString stringWithFormat:@"key=%@,value=%@",key,[dict objectForKey:key]];
NSLog(result);
if([[dict objectForKey:key] isKindOfClass:[NSDictionary class]]){
[self visitDict:[dict objectForKey:key]];
}
}
}
-(void)visitDict:(NSDictionary *)dict{ NSArray *keys=[dict allKeys]; for (NSString *key in keys) { NSString *result=[NSString stringWithFormat:@"key=%@,value=%@",key,[dict objectForKey:key]]; NSLog(result); if([[dict objectForKey:key] isKindOfClass:[NSDictionary class]]){ [self visitDict:[dict objectForKey:key]]; } }}
6、將解析出的NSDictionary對象還原為json字串
Cpp代碼
NSString * jsonStr=[items JSONRepresentation];
NSString * jsonStr=[items JSONRepresentation];
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包怎弄
NSString *strPath = [[NSBundle mainBundle] pathForResource:@"json檔案名稱" ofType:@"json"];NSString *str = [NSString stringWithContentsOfFile:strPath encoding:NSUTF8StringEncoding error:nil];