2015-03-18 4 views
0

Я пытаюсь отправить запрос JSON-RPC в Swift, и я следил за этим (Perform POST request in iOS Swift).Передача в NSDictionary возвращает nil в Swift

К сожалению, я не могу бросить «результат» часть ответа на NSDictionary, делая это:

if let responseDictionary = responseObject as? NSDictionary { 
    if let errorDictionary = responseDictionary["error"] as? NSDictionary { 
     println("error logging in (bad userid/password?): \(errorDictionary)") 
    } else if let resultDictionary = responseDictionary["result"] as? NSDictionary { 
     println("successfully logged in, refer to resultDictionary for details: \(resultDictionary)") 
    } else { 
     println("we should never get here") 
     println("responseObject = \(responseObject)") 
    } 
} 

где responseObject является AnyObject.

Мой объект ответа выглядит следующим образом:

{ 
id = 1; 
jsonrpc = "2.0"; 
result = "[{\"ID\":11,\"Name\":\"MyName\",\"LLogon\":\"2015-03-16T13:04:14\"}]";} 
+0

«result» - это не словарь, это строка. –

+0

Как сказано в «Горячем лике», значение «результата» - это строка. Эта строка представляет собой JSON-представление словаря. Если возможно, исправьте сервер, чтобы отправить правильный ответ. В противном случае вам придется десериализовать дважды (см. Http://stackoverflow.com/questions/17283141/cannot-parsing-json-to-nsdictionary для аналогичной проблемы). –

+0

Мы слышали, что вам нравится JSON –

ответ

0

Как Горячие лижет и Мартин R отметил, что это действительно проблема на стороне сервера.

Смежные вопросы