2017-04-24 76 views
-1

这是我从我的服务器实际收到的JSON响应:iOS版雨燕解析JSON响应从Alamofire

{ 
    "case_details": { 
    "status": "PENDING", 
    "caseNumber": "ARBIT.CASE(C)/1/2017", 
    "party": "COMBITHERM APPARATE-UND ANLAGENBAU GMBH .Vs. COXWELL DOMES ENGINEERS PVT. LTD. & ANR", 
    "pAdv": "MR. DEVENDRA SINGH", 
    "updatedOn": "24-04-2017", 
    } 
} 

但是,当我得到斯威夫特此相同的JSON响应,它接收像

{ 
    "case_details"= { 
    "status"= "PENDING", 
    "caseNumber"= "ARBIT.CASE(C)/1/2017", 
    "party"= "COMBITHERM APPARATE-UND ANLAGENBAU GMBH .Vs. COXWELL DOMES ENGINEERS PVT. LTD. & ANR", 
    "pAdv"= "MR. DEVENDRA SINGH", 
    "updatedOn"= "24-04-2017", 
    } 
} 

问题是:更改为=如何修复它? 我试过代码:

Alamofire.request(baseurl, method: .get).responseJSON { response in 
let statuscode = response.response?.statusCode 
switch response.result 
{ 
case .success(_): 
if (statuscode == 200) 
{ 
    let JSON = response.result.value! 
    //JSON Returns `=` instead of `:` 
} 
case .failure(let error): 
print("Request Failed With Error:\(error)") 
} 
+0

要小心,无论您的邮件是有效的JSON消息,看看额外的逗号之前的最后一个'}' –

+0

其不创建任何问题 –

+0

@ Anbu.Karthik它不会产生任何问题,但在某些响应中,我需要将这个相同的JSON响应发送回我的服务器。在服务器端,他们期望它是':'而不是'='。那是我的问题 –

回答

1

试试这个

Alamofire.request("your url", method: .get, parameters: parameter).validate().responseJSON { response in 
       switch response.result { 
       case .success: 
        if let result = response.result.value { 
       let JSON = result as! [String : AnyObject] 
       callback(JSON as AnyObject, true)       
        } 
       case .failure(let error): 
        print(error) 
       }