Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何使用POST方法swift发送JSON数据_Ios_Json_Swift - Fatal编程技术网

Ios 如何使用POST方法swift发送JSON数据

Ios 如何使用POST方法swift发送JSON数据,ios,json,swift,Ios,Json,Swift,如何在SWIFT中使用POST方法向服务器发送JSON数据 对于目标C,我使用这个 NSMutableDictionary *get = [[NSMutableDictionary alloc]init]; [get setObject:validEmailTF.text forKey:@"email"]; NSData* jsonData = [NSJSONSerialization dataWithJSONObject:get options:kNilOptions error:nil];

如何在SWIFT中使用POST方法向服务器发送JSON数据

对于目标C,我使用这个

NSMutableDictionary *get = [[NSMutableDictionary alloc]init];
[get setObject:validEmailTF.text forKey:@"email"];
NSData* jsonData = [NSJSONSerialization dataWithJSONObject:get options:kNilOptions error:nil];
NSString *jsonInputString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
NSString *post = [[NSString alloc]initWithFormat:@"r=%@",jsonInputString];

NSURL *url=[NSURL URLWithString:[NSString stringWithFormat:@"%@",forgetPasswordUrl]];

NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
NSString *postLength = [NSString stringWithFormat:@"%lu", (unsigned long)[postData length]];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:120.0];
[request setURL:url];
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:postData];

NSError *error;
NSURLResponse *response;
NSData *responseData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
if (responseData != nil)
{
    jsonDict = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error];
    NSLog(@"Values =======%@",jsonDict);
}
用Swift语言转换此代码。
谢谢

只需将代码转换为swift,而无需调整代码

试试这个:

    var get: NSMutableDictionary = NSMutableDictionary()
    get["email"] = validEmailTF.text
    var jsonData: NSData = NSJSONSerialization.dataWithJSONObject(get, options: kNilOptions, error: nil)
    var jsonInputString: String = NSString(data: jsonData, encoding: NSUTF8StringEncoding)
    var post: String = NSString(format: "r=%@",jsonInputString)

    var get: NSMutableDictionary = NSMutableDictionary()
    var url: NSURL = NSURL(string: "\(forgetPasswordUrl)")
    var postData: NSData = post.dataUsingEncoding(NSASCIIStringEncoding, allowLossyConversion: true)
    var postLength: String = "\(postData.length())"
    var request: NSMutableURLRequest = NSMutableURLRequest.requestWithURL(url, cachePolicy: NSURLRequestReloadIgnoringCacheData, timeoutInterval: 120.0)
    request.URL = url
    request.HTTPMethod = "POST"
request.setValue(postLength, forHTTPHeaderField: "Content-Length")
    request.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type")
    request.HTTPBody = postData

    var error: NSError
    var response: NSURLResponse
    var responseData: NSData = NSURLConnection.sendSynchronousRequest(request, returningResponse: &response, error: &error)
    if responseData != nil {
        jsonDict = NSJSONSerialization.JSONObjectWithData(responseData, options: kNilOptions, error: &error)
        print("Values =======\(jsonDict)")

只需将代码转换为swift,而无需调整代码

试试这个:

    var get: NSMutableDictionary = NSMutableDictionary()
    get["email"] = validEmailTF.text
    var jsonData: NSData = NSJSONSerialization.dataWithJSONObject(get, options: kNilOptions, error: nil)
    var jsonInputString: String = NSString(data: jsonData, encoding: NSUTF8StringEncoding)
    var post: String = NSString(format: "r=%@",jsonInputString)

    var get: NSMutableDictionary = NSMutableDictionary()
    var url: NSURL = NSURL(string: "\(forgetPasswordUrl)")
    var postData: NSData = post.dataUsingEncoding(NSASCIIStringEncoding, allowLossyConversion: true)
    var postLength: String = "\(postData.length())"
    var request: NSMutableURLRequest = NSMutableURLRequest.requestWithURL(url, cachePolicy: NSURLRequestReloadIgnoringCacheData, timeoutInterval: 120.0)
    request.URL = url
    request.HTTPMethod = "POST"
request.setValue(postLength, forHTTPHeaderField: "Content-Length")
    request.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type")
    request.HTTPBody = postData

    var error: NSError
    var response: NSURLResponse
    var responseData: NSData = NSURLConnection.sendSynchronousRequest(request, returningResponse: &response, error: &error)
    if responseData != nil {
        jsonDict = NSJSONSerialization.JSONObjectWithData(responseData, options: kNilOptions, error: &error)
        print("Values =======\(jsonDict)")

你可以试试这个,也许对你有帮助

let request = NSMutableURLRequest(URL: NSURL(string: "Your forgetPasswordUrl")!)
let session = NSURLSession.sharedSession()
request.HTTPMethod = "POST"

let params = ["email":validEmailTF.text] as Dictionary<String, String>

request.HTTPBody = try! NSJSONSerialization.dataWithJSONObject(params, options: [])
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.addValue("application/json", forHTTPHeaderField: "Accept")

let task = session.dataTaskWithRequest(request, completionHandler: {data, response, error -> Void in
    print("Response: \(response)")})

task.resume()
let request=NSMutableURLRequest(URL:NSURL(字符串:“您的伪造密码URL”)!)
let session=NSURLSession.sharedSession()
request.HTTPMethod=“POST”
让params=[“email”:validEmailTF.text]作为字典
request.HTTPBody=试试看!NSJSONSerialization.dataWithJSONObject(参数,选项:[])
request.addValue(“应用程序/json”,forHTTPHeaderField:“内容类型”)
request.addValue(“application/json”,forHTTPHeaderField:“Accept”)
让task=session.dataTaskWithRequest(请求,completionHandler:{data,response,error->Void in
打印(“响应:\(响应)”)}
task.resume()

您可以试试这个,也许它会对您有所帮助

let request = NSMutableURLRequest(URL: NSURL(string: "Your forgetPasswordUrl")!)
let session = NSURLSession.sharedSession()
request.HTTPMethod = "POST"

let params = ["email":validEmailTF.text] as Dictionary<String, String>

request.HTTPBody = try! NSJSONSerialization.dataWithJSONObject(params, options: [])
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.addValue("application/json", forHTTPHeaderField: "Accept")

let task = session.dataTaskWithRequest(request, completionHandler: {data, response, error -> Void in
    print("Response: \(response)")})

task.resume()
let request=NSMutableURLRequest(URL:NSURL(字符串:“您的伪造密码URL”)!)
let session=NSURLSession.sharedSession()
request.HTTPMethod=“POST”
让params=[“email”:validEmailTF.text]作为字典
request.HTTPBody=试试看!NSJSONSerialization.dataWithJSONObject(参数,选项:[])
request.addValue(“应用程序/json”,forHTTPHeaderField:“内容类型”)
request.addValue(“application/json”,forHTTPHeaderField:“Accept”)
让task=session.dataTaskWithRequest(请求,completionHandler:{data,response,error->Void in
打印(“响应:\(响应)”)}
task.resume()

我认为您正在对象c类中使用它。用swift和tryNo创建一个类,我使用的是swift classIt。没有任何错误。屏幕截图添加我也上传了图片我能做什么@Rajatpi认为您正在对象c类中使用它。用swift和tryNo创建一个类,我使用的是swift classIt。没有任何错误。屏幕截图添加我也上传了图片我能做什么@Rajatppass将
字典中的键设置为这样的
让params=[“key1”:“val1”,“key2”:“val2”,“key3”:“val3”]作为字典
如果其中一个包含另一个Dict数组呢<代码>如:[“key1”:“val1”,“key2”:“val2”,“key3”:[“key11”:“val11”,“key12”:“val12”,“key13”:“val13”]
@iUser使用
字典
像这样传递
字典中的键
让参数=[“key1”:“val1”,“key2”:“val2”,“key3”:“val3”]作为字典
它包含另一个Dict数组如何<代码>如:[“key1”:“val1”,“key2”:“val2”,“key3”:[“key11”:“val11”,“key12”:“val12”,“key13”:“val13”]]
@iUser use
字典