如何使用 iOS SDK 从 ASMX Web 服务中获取和解析 JSON?
Posted
技术标签:
【中文标题】如何使用 iOS SDK 从 ASMX Web 服务中获取和解析 JSON?【英文标题】:How to fetch and parse JSON from an ASMX Webservice using iOS SDK? 【发布时间】:2014-03-16 15:17:10 【问题描述】:我有一个 ASMX - Web 服务并希望请求 JSON 格式的结果。因此我使用 Fiddler 发送一个 POST-Request。
方法:
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public List<string> AllProjects()
List<ProjectData> pList = m_linqHelper.GetProjects(string.Empty).ToList();
List<string> ProjectNames = pList.Select(p => p.ProjectName).ToList();
return ProjectNames;
提琴手 POST 请求:
POST http://localhost:52225/MyWebService.asmx/AllProjects HTTP/1.1
Content-Type: application/json
Host: localhost:52225
Content-Length: 0
Connection: Keep-Alive
结果我得到了一个类似的字符串:
"d":["My_Project"]
困扰我的是 "d":。如何使用 ios SDK 解析这样的请求?
提前致谢。
【问题讨论】:
【参考方案1】:我也使用 ASMX 网络服务。 对于我的请求,我已经在 GitHub 上实现了 AFNeworking 库来调用 Webservice。
您可以在 GitHub 页面上找到帮助。 然后,网络服务给我一个 JSON 结果。所以我这样转换它:
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:responseObject options:0 error:nil];
其中 responseObject 是 AFNetworking 请求的结果。
【讨论】:
没有更简单的解决方案吗?通常数据被分组为 ID : Value 。但是当我只返回一个字符串时它是如何工作的呢?就像我上面提到的,我得到的只是:"d":["My_Project"]以上是关于如何使用 iOS SDK 从 ASMX Web 服务中获取和解析 JSON?的主要内容,如果未能解决你的问题,请参考以下文章
有没有办法限制对 ASMX Web 服务的访问,即 asmx 页面及其 WSDL?
如何使用 Retrofit 将图像文件从 Android 上传到 ASP.NET(Web Services-ASMX) 上传文件夹
如何从 asmx Web 服务管理多个 ado.net 数据库连接