如何让JSON响应HTTP请求

如何让JSON响应HTTP请求

问题描述:

WebService能够以XML,纯文本和JSon提供响应。如何让JSON响应HTTP请求

我可以在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

Refered它,但它给我的性反应中的XML。我想用JSon格式获取它。 – viral 2011-12-30 13:00:51

+2

那么你必须给我们更多的信息,舔哪个webservice?只是说有些事情可以解决问题,不容易解决。我知道某些webservice查看HTTP请求的accept头,而其他的请求使用GET参数来返回JSON。 – rckoenes 2011-12-30 13:17:43

+0

@rckoenes:编辑。 – viral 2011-12-30 13:38:02

如果您没有碰到错误的端点,您可能需要将http accept头设置为“application/json”,如@rckoenes所述。你也可以尝试使用CURL甚至是你的网页浏览器来查看服务是否在运行。

这里是它的工作对我来说,要求通过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"); 

} 
+0

像魔术一样工作:)非常感谢。 – viral 2011-12-31 05:21:08

取决于web服务是如何写的......

http://davidwalsh.name/web-service-php-mysql-xml-json

+0

我正在谈论的Web服务正在给我XML响应。它也给JSon(使用phoneGap的jQuery),我正在尝试制作Native iPhone App。所以,可以以JSon格式响应请求的任何特定方法。 – viral 2011-12-30 13:10:38

在应用程序中导入JSON框架。 Refer this

+0

已经被引用。它给了我XML格式的响应。 – viral 2011-12-30 13:16:16