Ios 如何使用POST方法swift发送JSON数据
如何在SWIFT中使用POST方法向服务器发送JSON数据 对于目标C,我使用这个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];
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字典