2014-06-24 94 views
1

我想使用AFNetworking與REST風格的Web服務進行通信。我得到了一個JSON響應,但由於某種原因,它與web服務發送的內容不同。AFNetworking會改變JSON響應?

我的代碼:

let manager = AFHTTPRequestOperationManager() 
var contentTypes:NSMutableSet = manager.responseSerializer.acceptableContentTypes.mutableCopy() as NSMutableSet 
contentTypes.addObject("text/html") 
manager.responseSerializer.acceptableContentTypes = contentTypes.copy() as NSSet 
var parameters = ["format":"json"] 
manager.GET("http://www.raywenderlich.com/demos/weather_sample/weather.php", 
parameters: parameters, 
success: { (operation: AFHTTPRequestOperation!,responseObject: AnyObject!) in 
      println("JSON: " + responseObject.description as String) 
     }, 
failure: { (operation: AFHTTPRequestOperation!,error: NSError!) in 
      println("Error: " + error.localizedDescription) 
     }) 

的JSON應該是這樣的:http://www.raywenderlich.com/demos/weather_sample/weather.php?format=json

但由於某些原因的println打印此:

{ 
data =  { 
    "current_condition" =   (
        { 
      cloudcover = 16; 
      humidity = 59; 
      "observation_time" = "09:09 PM"; 
... 

的:被替換爲= [] ()和大部分「都不見了

有沒有人知道原因這是什麼?

回答

2

因爲它不打印JSON,所以它打印從JSON生成的對象圖形(NSArray,NSDictionary,,,...的實例的組合)。

即AFNetworking已經爲您反序列化收到的數據做了一大堆工作。

+0

如何獲取普通的JSON? –

+0

使用'NSURLConnection'或更改'responseSerializer'來移除JSON - 爲什麼要直接使用JSON? – Wain

+0

如果有辦法從響應對象中獲取數據,我並不需要JSON。但我找不到任何方法來做到這一點。 –