如何将NSArray转换为特定的字符串?

我正在使用facebook-api来获取用户的朋友。 代码如下:

 let params = ["fields": "id"] let request = FBSDKGraphRequest(graphPath: "me/friends", parameters: params) request.startWithCompletionHandler { (connection : FBSDKGraphRequestConnection!, result : AnyObject!, error : NSError!) -> Void in if error != nil { let errorMessage = error.localizedDescription print(errorMessage) /* Handle error */ } else if result.isKindOfClass(NSDictionary){ /* handle response */ let defaults = NSUserDefaults.standardUserDefaults() let resultdict = result as! NSDictionary let data : NSArray = resultdict.objectForKey("data") as! NSArray for i in 0..<data.count { let valueDict : NSDictionary = data[i] as! NSDictionary let id = valueDict.objectForKey("id") as! String print("the id value is \(id)") } let friends = resultdict.objectForKey("data") as! NSArray print("Found \(friends.count) friends") print(friends) defaults.setObject(friends, forKey: "fb_friends") defaults.synchronize() } } 

resultDict包含:

 { data = ( { id = 1662200084096651; } ); paging = { cursors = { after = QVFIUmFsa0JGazI4amNEcFczT0NRQzdiNshusdsDSHFDHFDDSm02UzNudV9ZATS1ESk5iUEQ5T2syNGDSw4yegdxbdf4WGZA3; before = QVFIUmFsa0JGazI4amNEcFczT0NRQzdiNURGQTgdsgdsHFDSHTRTNU9DSm02UzNudV9ZATS1ESk5iUEQ5T2syNkRjQW8xc1drGgdsGREHRTcXE4WGZA3; }; }; summary = { "total_count" = 762; }; } 

上面的印刷品打印(1 fb朋友):

({id = 1020XXXXXX305XXX;})

我想把它传递给我的服务器,所以我想做:

 var emptyParams = ["":""] emptyParams["friends"] = (defaults.objectForKey("fb_friends") as! NSArray).componentsJoinedByString(",") 

但后来而不是params:

 friends: 1020XXXXXX305XXX 

我有:

 "friends": { id = 10206503694305180; } 

我想跳过id并将其作为数组发送,因为在我的服务器上我有:

 var friends = req.body.friends; for(var i=0; i<friends.length; i++) { console.log(friends[i]); query = query.or([{ 'fb_friend': friends[i] }]); } 

我应该如何修改我的swift代码以便创建正确的请求?

根据我对你的代码的理解, fb_friends[[String:String]] ,你想将它转换为[String]

您可以使用.map从字典中获取"id"

 let friends = (defaults.objectForKey("fb_friends") as! NSArray) .map{$0["id"]!} .joinWithSeparator(",") let params = [ "friends": friends ]