我使用本教程:Java的春天傑克遜JSON庫返回的Unicode而不是文本
http://www.mkyong.com/spring-mvc/spring-3-mvc-and-json-example/
從我的Java Spring的web應用程序返回JSON。當我在對象中返回一個超過1000個字符的字符串時,字符將被轉換爲\ u0000,僅用於該字符串值。返回之前,該字符串很好。
任何幫助將不勝感激。
我使用本教程:Java的春天傑克遜JSON庫返回的Unicode而不是文本
http://www.mkyong.com/spring-mvc/spring-3-mvc-and-json-example/
從我的Java Spring的web應用程序返回JSON。當我在對象中返回一個超過1000個字符的字符串時,字符將被轉換爲\ u0000,僅用於該字符串值。返回之前,該字符串很好。
任何幫助將不勝感激。
這不是一個解決方案,但它是Jackson提供的UTF8JsonGenerator
的問題。如果您的字符串長度超過1000個字符,則會調用_writeLongString(_charBuffer, 0, len)
。變量_charBuffer
只是一個4000字符的空緩衝區(其中的每個值都被設置爲「\ u0000」),因此您會得到一個len
-many字符串「\ u0000」。
編輯:升級過去版本2.6.0-RC1應該是修復(通過https://github.com/FasterXML/jackson-core/issues/194)
這意味着,你的字符串包含空字符。沒有更多細節(CODE),我們無法解釋原因。 –
在999個字符處,它發送正常,在1000個字符處進行編碼。爲什麼它會讓所有字符在1000個字符處爲空字符? – dumkat
你有更好的機會找到自己,因爲你有代碼和其他一切可供選擇。我們沒有任何東西,因爲您選擇不發佈一行代碼。 –