如何 ios 连接 Web 服务并获取 json 数据?
Posted
技术标签:
【中文标题】如何 ios 连接 Web 服务并获取 json 数据?【英文标题】:How to ios connect web service and get json data? 【发布时间】:2014-02-07 08:31:43 【问题描述】:当我连接到返回 Json 字符串的 Web 服务时,它会像 XML 一样返回它们:
2014-02-07 00:17:15.673 Test[791:70b] <\?xml version="1.0" encoding="utf-8"?>
<\string xmlns="MBSCafe.Service.ServiceManager">"query": ["ID": "01","Name": "food"]<\/string>
相反,我想要这个:
"query": ["ID": "01","Name": "food"]
这是我的部分代码:
NSString *urlString = @"http://mbsserver/MBSCafeService/ServiceManager.asmx/GetItemTypeList";
NSURL *url = [NSURL URLWithString:urlString];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod: @"POST"];
[request setValue:@"application/json; charset=utf-8" forHTTPHeaderField:@"Accept"];
NSString *myRequestString = @"id="; // Attention HERE!!!!
myRequestString = [myRequestString stringByAppendingString:@"01"];
NSData *requestData = [NSData dataWithBytes:[myRequestString UTF8String] length:[myRequestString length]];
[request setHTTPBody: requestData];
这有什么问题?
【问题讨论】:
您检查 WebService 的 json 响应,如果在任何情况下都不可能,则调用 webservice 并使用 XMLReader 将 xml 转换为 json。 【参考方案1】:确保服务器返回的响应是json格式,可以通过fidder或者其他火狐、Chrome插件查看
【讨论】:
当我在 android 中调用这个 web 服务时,我可以得到 json 对象,但在 ios 中它像 xml 一样返回。【参考方案2】:使用名为“HTTP resource test
”的 firefox 插件测试您的网络服务,在此处指定您的参数并查看您得到的响应。你可以使用firefox->tools->HTTP resource test
找到这个插件。
【讨论】:
以上是关于如何 ios 连接 Web 服务并获取 json 数据?的主要内容,如果未能解决你的问题,请参考以下文章
如何从带有 ios Swift 3 的肥皂 Web 服务方法中获取 json 数组字符串?