iOS 6アプリのJSONを解析しようとしていますが、動作しないようです。私はたくさんのフォーラムを精査しましたが、機能する、実装するのに十分理解している、または適用できるソリューションを見つけられませんでした。
見逃したものがありましたらお詫び申し上げます。
まず、テスト用のWebサービスがあります。これは、私が知る限り、有効なJSONを返します。
http://thetrouthunter.com/SVLocationsAPI.php
次に、Objective-Cコードは次のとおりです。
+ (NSDictionary *)connectToService:(NSString *)query
{
NSError *error = nil;
query = [NSString stringWithFormat:@"%@&format=json&nojsoncallback=1", query];
query = [query stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSData *jsonData = [[NSString stringWithContentsOfURL:[NSURL URLWithString:query] encoding:NSUTF8StringEncoding error:nil] dataUsingEncoding:NSUTF8StringEncoding];
NSDictionary *results = jsonData ? [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers|NSJSONReadingMutableLeaves error:&error] : nil;
NSLog(@"locations: %@", results);
if (error)
NSLog(@"[%@ %@] JSON error: %@", NSStringFromClass([self class]), NSStringFromSelector(_cmd), error.localizedDescription);
return results;
}
+ (NSArray *)userLocation {
NSString *request = [NSString stringWithFormat:@"http://thetrouthunter.com/SVLocationsAPI.php"];
return [[self connectToService:request] valueForKeyPath:@"locations.location"];
}
ls NSLog関数は、「操作を完了できませんでした。(Cocoaエラー:3840)」というエラーを出力しています。
なぜそうなのか理解できません。私はいろいろなことを試しました。