如何在swift中获得AFNetworking中的正确JSON文本

问题描述:

我使用AFNetworking进行GET请求。我得到的结果不是JSON字符串,但它应该是JSON字符串。如何在swift中获得AFNetworking中的正确JSON文本

我想下面的JSON文本:

{ 
    "code": 200, 
    "message": "success", 
    "data": [ 
    { 
     "goods_id": "31", 
     "goods_item": "DA55098", 
     "goods_price": "0", 
     "goods_shop_price": "198", 
     "class_id": "45", 
     "goods_thumbnail_image": "/public/upload/goods/20151122/thumb_fcd13f057fa51d2d72826f7e26625b7c.jpg", 
     "goods_name": "Product name", 
     "buy_num": 0, 
     "faverite_num": "0" 
    } 
    ] 
} 

但我得到这个:

{ 
    code = 200; 
    data =  (
       { 
      "buy_num" = 0; 
      "class_id" = 45; 
      "faverite_num" = 0; 
      "goods_id" = 31; 
      "goods_item" = DA55098; 
      "goods_name" = "Product name"; 
      "goods_price" = 0; 
      "goods_shop_price" = 198; 
      "goods_thumbnail_image" = "/public/upload/goods/20151122/thumb_fcd13f057fa51d2d72826f7e26625b7c.jpg"; 
     } 
    ); 
    message = "success"; 
} 

这里是我的代码:

override func viewDidLoad() { 
      super.viewDidLoad() 
      let api = "http://jjd.imlc.me/api/index/" 

      manager.GET(
       api, 
       parameters: nil, 
       success: onSuccess, 
       failure: onFailure 
      ) 
     } 


     func onSuccess(operation: AFHTTPRequestOperation!, responseObject: AnyObject!) -> Void{ 
      let description = responseObject.description 
      print(description) 
     } 

您需要设置响应您的经理的序列化程序到AFJSONResponseSerializer的实例像这样(在您提出请求之前)

manager.responseSerializer = AFJSONResponseSerializer()

你混淆了一个JSON文件转换成一个JSON文件转换为文本,解析并转换为一个字典,它的描述显示。

字典的描述不是JSON文档。你看到的是正常的。完全不用担心。