我還沒有看到關於這個的非常明確的答案。出於某種原因,我不明白,我從中接收數據的服務器在開始時會返回一個帶有很多(可能是數百個)空字節的JSON響應。來自NSData的NSString - 服務器返回帶領先的空值的NSData
當我使用下面的代碼,該字符串顯示爲空值:
NSString* newStr = [[[NSString alloc] initWithData:dataToBeLoaded encoding:NSUTF8StringEncoding] autorelease];
顯然這是一個常見的問題,但我還沒有看到關於如何NSData的轉換爲一個NSString一個明確的答案。
直到最近,我看到這個問題帶有一箇中間的NSString值,但是當我從開始和結束剝離少量(但不是數百個)字符後,它就消失了。剝離後的NSString非常好,所以我認爲編碼方法不是問題。
是否有內置方法可以正確執行此操作?我必須要想象一下,我會寫入的代碼會逐字節地傳輸,效率會更高。
順便說一下,當我在瀏覽器中手動發送JSON請求到服務器時,響應返回爲完全有效的JSON,在瀏覽器屏幕中沒有明顯的問題。
任何想法我應該做什麼?謝謝。
爲什麼這應該是一個常見問題?你還在哪裏看過它?你有沒有使用fiddler(或類似的工具)檢查服務器的JSON響應是否正常? _dataToBeLoaded_的內容是什麼?完整的JSON響應或僅僅是JSON響應的一部分?請提供更多信息。 – Codo
再次閱讀此問題後,我很清楚服務器部分需要修復,而不是iOS或Mac OS客戶端?你能修復服務器還是其他人的責任?無論如何使用哪種服務器技術? – Codo
好的,我不知道它在數百萬程序員的世界中是否常見,但我已經看到了幾次,沒有真正的答案。服務器不在我的控制之下,我從兩臺服務器上看到了這一點。我將在下面用我發現對我的應用程序有用的解決方案回答我的問題。 – Jim