iOS网络请求参数以JSON的格式上传

iOS网络请求参数以JSON的格式上传

       在网络开发中请求方式都是以POST或者GET的方式来请求数据,在处理参数的时候都是封装在一个字典里面,然后用AFNetworking或者Alamofire框架提交服务器处理的

let param = ["param1": "value1", "param2": "value2"]
alamofireNetWorking("url", param: param) { (responseObject, error) in
     // 处理数据
}
但是有时候服务器设计的不是这样的,服务器需要参数以JSON的方式上传,所有我写了一个协议来处理这种需求,并且通过extension提供了一个默认的实现,代码如下

协议的代码:

protocol ParamsSerializationJsonTool { 
	func paramsSerializationJson(param: AnyObject) -> String
}

extension ParamsSerializationJsonTool {
	func paramsSerializationJson(param: AnyObject) -> String {
		do {
			let data = try NSJSONSerialization.dataWithJSONObject(param, options: NSJSONWritingOptions.PrettyPrinted)
			let paramString = String.init(data: data, encoding: NSUTF8StringEncoding)
			return paramString!
		} catch let error {
		print("paramsSerializationJson --> error = \(error)")
		return ""
		}
	}
}
使用的代码:
let param = ["param1": "value1", "param2": "value2"]
// 遵守协议后,调用协议方法转换参数
let paramJsonString = paramsSerializationJson(param)
alamofireNetWorking("url", param: paramJsonString) { (responseObject, error) in
    // 处理数据
}



你可能感兴趣的:(iOS)