WebService能够以XML,纯文本和JSon提供响应。
我可以成功获得XML响应。 我担心的是,如何以JSon格式(不是XML或纯文本)获得响应。
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
NSString *responseString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
SBJsonParser *parser = [[SBJsonParser alloc] init];
NSMutableArray *array = [parser objectWithString:responseString error:nil];
NSString *success = [array valueForKey:@"Successful"];
NSString *token = [array valueForKey:@"Token"];
}
上面是处理响应的代码(我确实假设了JSon,但它是XML)。 因此应用程序崩溃了。
以下是我得到的回应:
<AuthenticatedUser xmlns="http://schemas.datacontract.org/2004/07/XYZCOMPANY.ABC.DataContracts.Mobile" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><ErrorMsg i:nil="true"/><Successful>true</Successful><Token>MHlc8yKBgghjkfPHZ2oOvabvMWA=</Token></AuthenticatedUser>
答案 0 :(得分:1)
如果你没有遇到错误的端点,你可能需要将http接受标头设置为“application / json”,就像@rckoenes所说的那样。您还可以尝试使用CURL甚至是Web浏览器来查看服务,以查看json服务是否正在运行。
以下是它为我请求由SOAPUI创建的本地JSON服务的代码:
NSURLRequest *request = [[NSURLRequest alloc]
initWithURL: [NSURL URLWithString:SERVERURL]
cachePolicy: NSURLRequestReloadIgnoringLocalCacheData
timeoutInterval: 10];
NSURLConnection *connection = [[NSURLConnection alloc]
initWithRequest:request
delegate:self
startImmediately:YES];
if(!connection) {
DLog(@"connection failed");
} else {
DLog(@"Connection succeeded");
}
答案 1 :(得分:0)
取决于如何编写Web服务......
答案 2 :(得分:-1)
在您的应用程序中导入JSON框架。 Refer this