我正在开发需要与Windows服务器共享数据的iDevice应用。 我在网上查看了许多示例,并提出了下面列出的实现。 iOS应用将JSON发送到Web服务器,并接收回JSON响应。 但是,响应不是我所期望的。 我收到{"d": "{\\"name\\": \\"John Doe\\", \\"email\\": \\"test@gmail.com\\"}"}而不是{\\"name\\": \\"John Doe\\", \\"email\\": \\"test@gmail.com\\"}任何知道“ d”来自哪里的想法吗?

iOS程式码:

-(void)checkWithServer {
    NSOperationQueue *queue = [[NSOperationQueue alloc] init];
    NSURL *postURL = [NSURL URLWithString: @"http://texas/WebSite3/Service.asmx/doSomething"];
    NSDictionary *jsonDict = [[NSDictionary alloc] initWithObjectsAndKeys:
                              @"test@gmail.com", @"email",
                              @"John Doe", @"name",
                              nil];

    NSError *error;
    NSData *jsonData = [NSJSONSerialization dataWithJSONObject:jsonDict options:0 error:&error];

    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL: postURL
                                                           cachePolicy: NSURLRequestUseProtocolCachePolicy
                                                       timeoutInterval: 60.0];

    [request setHTTPMethod: @"POST"];
    [request setValue: @"application/json" forHTTPHeaderField: @"Accept"];
    [request setValue: @"application/json; charset=utf-8" forHTTPHeaderField: @"content-type"];
    [request setHTTPBody: jsonData];

    [NSURLConnection sendAsynchronousRequest: request
                                       queue: queue
                           completionHandler: ^(NSURLResponse *response, NSData *data, NSError *error) {
                               if (error || !data) {
                                   // Handle the error
                               } else {
                                   // Handle the success
                               }
                           }
     ];
}

网络服务器代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Web.Script.Services;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Json;
using System.Xml;
using System.Xml.Linq;
using System.Data;
using System.Data.SqlClient;

[WebService(Namespace = "http://texas/WebSite3")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment   the following line. 
[System.Web.Script.Services.ScriptService]
public class Service : System.Web.Services.WebService
{
    public Service () {

    //Uncomment the following line if using designed components 
    //InitializeComponent(); 
    }

    [WebMethod]
    [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
    public string doSomething(string email, string name)
    {
        return "{\"name\": \"" + name + "\", \"email\": \"" + email + "\"}";
    }
}

显然,Web服务器足够聪明,可以将JSON分开并分配变量名称和电子邮件。

  ask by JSWilson translate from so

本文未有回复,本站智能推荐:

2回复

如何将JSON POST从iOS设备发送到ASP.NET URL

我正在开发一个需要与Windows服务器共享数据的应用程序。 我在网上查看了许多示例,并提出了下面列出的实现。 虽然iOS代码和Web服务可以独立正常运行,但我不知道如何将它们连接在一起。 我所看到的所有示例都没有显示Web服务的URL(或者至少没有以允许我弄清楚正在发生什么的方式)。
2回复

iOS:从ASP .Net Web服务接收JSON响应

我正在尝试从我的ASP .Net Web服务器获取JSON响应。 我已经阅读了类似的问题,并为我的案例提供了给定的答案,但仍然无法从服务器获得JSON响应。 它总是返回XML。 这是我的Web服务代码: Web.config文件: iOS HTTP请求代码: 我
2回复

ASP.NET/Android/iOS-跨平台数据交换-JSON或其他内容? [关闭]

实际上我正在计划做一个更大的项目。 我想制作一个Android-App,iOS-App和ASP.NET网页,并且这三个页面都应使用相同的数据库(最好是MS SQL Server)。 JSON是最佳选择吗? 是的时候,我该如何构建整个东西? 我可以只编写一个服务,然后每个平台都可以读取
1回复

通过IOS从ASP.NET Web API获取布尔值或字符串

我可以使用以下函数获取JSON格式的值: 但是我真的不知道如何获取字符串值或布尔值。 我们有一些验证将返回此数据类型。 不是JSON。 Flidder上显示的原始值看起来像(ID00001是返回字符串):
1回复

如何防止JSONKit从ASP.NET JSON日期格式转义反斜杠?

我正在使用JSONKit在ASP.NET RESTful服务之间编码/解码JSON。 这里讨论了服务使用的日期格式,如下所示: 问题是,当JSONKit处理一个类似于上面的字符串时,它会转义反斜杠,因此最终结果如下所示: JSON规范说你可以选择转义正斜杠(/),这样JSO
2回复

通过ASP.NET将MS SQL 2008中的字符串以JSON格式保存

我使用Visual Studio 2010构建了一个Web服务。语言为C#和ASP.NET 3.5。 Web服务器将数据从我的ms sql server 2008发送到JSON格式的iPhone。 但我从SQL Server收到所有数据的一个字符串值。 我希望Web服务将数据单独发
2回复

如何在C#中创建自定义JSON,返回值应该是什么?

我想从mssql 2008结果创建自定义json数据,以便我的iPhone可以使用它。 我可以像这样使用json网站而不会出现问题: json链接 格式如下: 我应该返回哪种格式才能在iPhone上使用它? 字符串数组,字典? 我不知道 编辑:这是我的代码:
2回复

目标C解析JSON

我在wcf服务中获得了下面要返回的结果JSON,我想在我的ipad应用程序中对其进行迭代。我使用下面的代码来解析结果json,但应用程序给出了错误。 如何遍历此字典并获得项目。 iOS代码: JSON:
2回复

无法从JSON Webservice获取值

我有一个Webservice,它从数据库中选择数据并将它们以JSON格式发送给Iphone 我的网络服务: 我的Helper.cs 在Xcode中: 到目前为止它工作,我的输出是: 但是,如果我尝试 只获取值:abcd @ web.de,acsb @
2回复

使用Newtonsoft.Json删除引号的转义

我有WCF服务。 网址是: http : //iphone.clickcelltest.com/EduLink.svc/GetLevel 方法具有以下属性: 我从数据库中获取数据,然后从类的集合/列表中获取数据。 我使用Newtonsoft.Json DLL将集合转换为json