JSON序列化使用networking

我有问题的方式,我收到服务器的JSON。 有学生数组(字典)包装在字典中:

var students:[[String: String]] = [] students.append(["id":"2", "name":"joe"]); students.append(["id":"3", "name":"jake"]); students.append(["id":"4", "name":"may"]); students.append(["id":"1", "name":"donna"]); let json:[String:[[String:String]]] = ["students" : students] 

当使用NSJSONSerialization打印JSON

 var data = NSJSONSerialization.dataWithJSONObject(json, options: NSJSONWritingOptions.PrettyPrinted, error: &error) println(NSString(data: data!, encoding: NSUTF8StringEncoding)) { "students" : [ { "id" : "2", "name" : "joe" }, { "id" : "3", "name" : "jake" }, { "id" : "4", "name" : "may" }, { "id" : "1", "name" : "donna" } ] } 

nodeJS我得到了这样的JSON:

 { 'students[][id]': [ '2', '3', '4', '1'], 'students[][name]': [ 'joe', 'jack', 'may', 'donna' ] } 

编辑:Afn代码:

  AFHTTPRequestOperationManager().POST("http://10.0.0.1:8080/echo", parameters: json, success: { (operation: AFHTTPRequestOperation!, responseObject: AnyObject!) -> Void in println(operation.responseString) }, failure: { (operation: AFHTTPRequestOperation!, error: NSError!) -> Void in }) 

在你的问题,你正在采取你的字典结构,并手动创buildJSON。 但是当你通过AFNetworking创build请求时,你不是指定一个JSON请求,而是一个application/x-www-form-urlencodedContent-Type application/x-www-form-urlencoded因为默认的requestSerializerAFHTTPRequestSerializer

如果你想在AFNetworking中创buildJSON请求,你会:

 let manager = AFHTTPRequestOperationManager() manager.requestSerializer = AFJSONRequestSerializer(writingOptions: nil) manager.POST("http://10.0.0.1:8080/echo", parameters: json, success: { (operation: AFHTTPRequestOperation!, responseObject: AnyObject!) -> Void in println(operation.responseString) }, failure: { (operation: AFHTTPRequestOperation!, error: NSError!) -> Void in println(error) })