JSON我已经创造了.NET一个简单的.asmx Web服务,如下图所示:修改.NET的.asmx Web服务返回的不是XML
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string Foo(string name)
{
var customer = new {Name = name};
JavaScriptSerializer json = new JavaScriptSerializer();
return json.Serialize(customer);
}
当我把这个服务将返回XML而不是JSON的结果。我的iOS客户端有一个需要JSON格式的字典。
如何让.NET服务返回JSON格式而不是XML?
字典永远不会被填充,因为.Net服务返回XML而不是JSON。
- (void)requestFinished:(ASIHTTPRequest *)request
{
NSLog(@"status code %d",request.responseStatusCode);
if(request.responseStatusCode == 200)
{
NSString *responseString = [request responseString];
NSDictionary *responseDict = [responseString JSONValue];
NSLog(@"%@",[responseDict objectForKey:@"name"]);
}
NSLog(@"request finished");
}
我也设置了内容类型,如下图所示:
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request addRequestHeader: @"Content-Type" value:
@"application/json; charset=utf-8"];
[request setPostValue:@"mama" forKey:@"name"];
[request setDelegate:self];
[request startAsynchronous];
发回的回复我得到的是这样的:
<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://tempuri.org/">{"Name":"mama"}</string>
仅供参考,根据您陈述的目标,iOS代码与此问题的解决方案无关。您的.NET服务ASMX或WCF? – Jeff
ASMX服务... – azamsharp
请参阅更新的帖子! – azamsharp