2016-03-30 23 views
0

我有拿串請求體的字符串格式要求如下損壞的數據時,將字符串轉換爲NSData的在迅速

{"DeviceId":"B7A71027-78B1-4E25-9AC3-350EEB981C58", "TokenId":"B7A71027-78B1-4E25-9AC3-350EEB981C58", "OsType":"ios", "Email":"[email protected]", "UserName":"Amira", "Password":"1111", "ProfileImage":""} 

但迅速請求主體,所以我搜查,發現以下三個只接受NSData的類型該字符串轉換爲NSData的

 let data = parameter.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: true) 
     let convertedStr = NSString(data: data!, encoding: NSUTF8StringEncoding) 
     let finalString = convertedStr!.dataUsingEncoding(NSUTF8StringEncoding) 

問題,現在發送到服務器,最後一個字符串沒有格式化,而不是由服務器所接受的線條,它看起來像下面

finalString: 
Optional(<7b224465 76696365 4964223a 22423741 37313032 372d3738 42312d34 4532352d 39414333 2d333530 45454239 38314335 38222c20 22546f6b 656e4964 223a2242 37413731 3032372d 37384231 2d344532 352d3941 43332d33 35304545 42393831 43353822 2c20224f 73547970 65223a22 696f7322 2c202245 6d61696c 223a2261 2e614061 2e636f6d 222c2022 55736572 4e616d65 223a2241 6d697261 222c2022 50617373 776f7264 223a2231 31313122 2c202250 726f6669 6c65496d 61676522 3a22227d>) 

所以現在服務器給我錯誤,請問我該如何解決這個問題?

+2

固定的問題,您將字符串轉換爲數據,返回一個字符串,然後再返回來的數據。爲什麼? – gnasher729

+0

finalString它是NSData不是字符串 –

+0

爲什麼不使用'NSJSONSerialization'而不是? – Sulthan

回答

0

我加入

request.setValue("application/json; charset=utf-8", forHTTPHeaderField: "Content-Type")