2016-04-07 58 views

回答

0

我假設你的服務器正在返回JSON。如果是這種情況,那麼服務器需要更新,因爲它不符合JSON spec。具體做法是:

  • 編碼

    JSON內容應以Unicode編碼。默認編碼是UTF-8,編號爲 。

  • 要注意的重要一點是,RestKit不解壓響應轉換爲字符串,因爲JSON deserialisation需要一個數據對象(NSJSONSerialization)。再次,該規範規定:

    的數據必須在JSON規範中列出的5個支持的編碼之一:UTF-8,UTF-16LE,UTF-16BE,UTF-32LE,UTF-32BE。數據可能有也可能沒有BOM。用於解析的最有效的編碼是UTF-8,所以如果您有編碼傳遞給此方法的數據的選擇,請使用UTF-8。

    因此,要處理您的服務器響應,如果您無法更改它,則需要自己處理下載,將數據轉換爲適當的編碼,解壓縮JSON,然後創建映射操作以使用它。

    +0

    但如果我有XML響應,而不是JSON? –

    +0

    你應該真的把這些信息添加到問題中,但我想問題是一樣的,序列化拋出未知/不支持的編碼錯誤。你應該分別下載和解碼數據,然後將它映射到一個更好的格式。 – Wain

    +0

    非常感謝你,最好解釋一下,你救了我的一天! –