구문 분석에 문제가 있습니다. JSON
입니다. 출력 문자가 왜곡됩니다.JSON을 구문 분석하는 방법
이 문제를 해결하는 방법을 알려주십시오. 다음 문제는 무엇이 문제가됩니까?
NSLog(@"Dictionary '%@'",dictionary); // ◀︎ here
- (void)viewDidLoad
{
[super viewDidLoad];
NSString *urlString=[NSString stringWithFormat:@"http://webservice.recruit.co.jp/hotpepper/gourmet/v1/?key=4f46fcd28f4b15e3&lat=34.678&lng=135.52&range=5&order=4&format=json"];
NSString *urlUTF8=[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *url=[NSURL URLWithString:urlUTF8];
NSString *jsonString=[self performServerRequestWithURL:url];
NSDictionary *dictionary=[self parseJSON:jsonString];
NSLog(@"Dictionary '%@'",dictionary); // ◀︎ here
}
-(NSString*)performServerRequestWithURL:(NSURL*)url
{
NSError *error;
NSString *resultString=[NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:&error];
if(resultString == nil){
NSLog(@"ダウンドード失敗:%@",error);
return nil;
}
return resultString;
}
-(NSDictionary*)parseJSON:(NSString*)jsonString
{
NSData *data=[jsonString dataUsingEncoding:NSUTF8StringEncoding];
NSError *error;
id resultObject=[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:&error];
if([resultObject isKindOfClass:[NSDictionary class]]){
NSLog(@"its an dictionary");
NSDictionary *jsonDictionary=(NSDictionary*)resultObject;
} else {
NSLog(@"its probably a array");
NSArray *jsonArray=(NSArray*)resultObject;
}
return resultObject;
}
당신은'return resultObject; '를 반환하고 있지만'return yourDicName'이어야합니다; – iPatel
@iPatel, You'r right. –
이 질문에 답변 해 주셔서 감사합니다. [return resultObject]를 [return jsonDictionary]로 바꿔야합니까? 하지만 잘 작동하지 않습니다. 죄송합니다. – key