【发布时间】:2011-09-03 04:34:44
【问题描述】:
在我现在创建的应用程序中,我使用 goo.gl 的 url 缩短器 api 来缩短 url。我几乎可以正常工作了,我可以发送 longUrl 以检索 NSString 中的短网址,但格式如下:
{
“种类”:“urlshortener#url”,
"id": "http://goo.gl/something",
"longUrl": "http://somethinglonggggg/"
}
我只是想知道是否有办法从中获取 id(短 url)。
这是我目前所拥有的:
NSString *longURL = urlText.text;
NSData *reqData = [[NSString stringWithFormat:@"{\"longUrl\":\"%@\"}", longURL] dataUsingEncoding:NSUTF8StringEncoding];
NSMutableURLRequest *request = [NSMutableURLRequest
requestWithURL:[NSURL URLWithString:@"https://www.googleapis.com/urlshortener/v1/url"]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:20];
[request setHTTPMethod:@"POST"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:reqData];
NSError *err = [[NSError alloc] init];
NSData *retData = [NSURLConnection sendSynchronousRequest:request
returningResponse:nil
error:&err];
if([err domain]) return;
NSString *retString = [[NSString alloc] initWithData:retData encoding:NSUTF8StringEncoding];
if([retString rangeOfString:@"\"error\""].length) return;
NSLog(@" longUrl equals %@ ", longURL);
NSLog(@" retString equals %@ ", retString);
urlText.text = retString;
【问题讨论】:
-
你确定返回的值真的是一个字符串,而不是字典吗?好像是一本字典。
-
嗯,我不确定当我做
-
其实它肯定是一个字符串,我尝试将它设置为字典,但不起作用。
-
看起来像 JSON 返回 - 使用 JSON 解析库之一可能更容易。
-
你能帮忙处理 JSON 吗? :)
标签: objective-c url nsstring url-shortener goo.gl