2014-06-24 59 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。但我找不到任何方法来做到这一点。 –