Приведение к NSDictionary возвращает ноль в Swift

Я пытаюсь отправить запрос JSON-RPC в Swift, и я следил за этим ( Perform POST-запрос в iOS 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\"}]";}

person Alex    schedule 18.03.2015    source источник
comment
результат не словарь, это строка.   -  person Hot Licks    schedule 18.03.2015
comment
Как сказал Hot Licks, значение ключа результата представляет собой строку. Эта строка представляет собой JSON-представление словаря. Если возможно, исправьте сервер, чтобы он отправлял правильный ответ. В противном случае вам придется дважды десериализовать (см. /17283141/ по аналогичной проблеме).   -  person Martin R    schedule 18.03.2015
comment
Мы слышали, что вам нравится JSON   -  person Nate Cook    schedule 18.03.2015


Ответы (1)


Как отметили Hot Licks и Martin R, это действительно проблема на стороне сервера.

person Alex    schedule 19.03.2015