[英]Read 2 JSON Request from iPhone
在php端,我编写了以下代码:
......
sendResponse(200, json_encode($result1));
sendResponse(200, json_encode($result2));
现在在Xcode端,我编写了以下代码:
- (void)requestFinished:(ASIHTTPRequest *)request
{
if (request.responseStatusCode == 200) {
NSString *responseString = [request responseString];
NSDictionary *responseDict = [responseString JSONValue];
NSArray *carsType = [responseDict allValues];
if (carsType != Nil) {
self.carsTypeArray = carsType;
[carsTypeTableView reloadData];
}
}
问题是,如果我注释其中的php代码之一,则obj-c代码可以100%工作。 但我需要知道如何阅读2 JSON响应。
任何想法请。
从根本上讲,HTTP要求每个请求一个响应。 您不能连续发送两个hTTP响应消息,并且希望客户端理解。
在一个HTTP响应中发送两段JSON的最简单方法是将它们包装在JSON数组中,例如
[ { "foo" : "bar" }, { "foo" : "baz" }]
我想象在PHP中,如果将result1和result2粘贴到PHP数组中并对其进行JSON编码,那么您将获得正确的JSON字符串。
在iPhone上,将-JSONValue
发送到响应时,将返回一个包含两个JSON对象的NSArray
。
只要这样做:
$result[] = $result1;
$result[] = $result2;
sendResponse(200, json_encode($result));
[responseDict objectAtIndex:0]
将是$result1
。
[responseDict objectAtIndex:1]
将是$result2
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.