2015-05-13 67 views
1

我是Java新手,在C#中這個東西非常簡單,但我在Java中苦苦掙扎。Jackson Json UTF16

我在窗體上的一個文本框中輸入了一些中文字符,但是當Jackson Json將這個對象序列化時,它將中文字符轉換爲文本的隨機位。有沒有人知道我需要用Jackson Json來保存這些字符,以便我可以將它們傳遞給C#Web API服務?

我正在使用的代碼如下:

ObjectMapper mapper = new ObjectMapper(); 

String json = mapper.writeValueAsString(userAddress); 

當映射器去串行化包含了中國字符的userAddress對象,它調用C#網絡之前將其轉換爲JSON字符串中的隨機字符API。如何保留它們,或者是否需要將它們編碼爲字節,然後在C#Web API中對它們進行解碼?

感謝

回答

0

它可能不得不做更多的編碼比傑克遜。使用UTF-8的一個優點是它支持中文字符。我測試了你所報道的東西,傑克遜把角色轉換得很好。現在你應該檢查你運行的JVM是什麼編碼,如果它運行在不支持中文的編碼上,你可能會遇到這個問題

+0

謝謝你的迴應。這是傑克遜JSON的一個老版本,導致了這個問題。將其從1.8.2升級到2.5可解決該問題。 – ZeroInfinite