2012-08-24 27 views
5

我試圖訪問一個Web服務,通​​過AFHTTPClient子類,具有併發症AFNetworking AFHTTPClient不同的內容類型的成功和失敗

如果請求成功,內容是返回JSON。如果由於某種原因失敗,則服務器的錯誤將返回格式化爲XML格式。

目前,我認爲可以處理這個問題的唯一方法是不嘗試使用特定的XML/JSON RequestOperations,並將所有內容純粹視爲純HTTP請求,然後嘗試自己手動解析它,取決於響應的樣子。

不幸的是,我無法控制網絡服務,或者我確定它是全部 JSON。

有沒有人有更好的建議來處理這個問題?

[編輯]

我想製作的一種方式稍微清潔器,將是創建AFHTTPRequestOperation的一個新的子類,即處理的內容的檢測內部類型,然後傳遞迴或者解析的JSON或GDataXML對象取決於從服務器返回的內容。

感謝

+0

這與我用過的幾個Web服務類似,成功時使用JSON,失敗時使用純文本。你可以做的最好的方法是向JSON拋出一個不同內容類型的錯誤,或者嘗試解析響應中的特定錯誤。 – danielbeard

回答

0

這可能不是最乾淨的或最優化的解決方案,但你可以做一個現有的JSON庫響應是實際上有效的JSON檢查。如果是這樣,照常進行;如果不是,請使用您的手工解析解決方案對待它。

+0

謝謝。我考慮過這種方法,但並不喜歡嘗試解析它以致失敗的開銷。我猜如果它檢測到非JSON,可能會提前解析,所以可能不應該太低效。 –

相關問題