2015-05-13 5 views
1

Я новичок в Java и на C# этот материал довольно прост, но я борюсь с ним на Java.Jackson Json UTF16

Я ввожу некоторые китайские символы в текстовое поле формы, но когда Джексон Json сериализует объект, он преобразует китайские символы в случайные фрагменты текста. Кто-нибудь знает, что мне нужно делать с Джексоном Джонсом, чтобы сохранить персонажей, чтобы я мог передать их в службу веб-API C#?

кода я использую ниже:

ObjectMapper mapper = new ObjectMapper(); 

String json = mapper.writeValueAsString(userAddress); 

Когда картограф де-serialises объекта userAddress, содержащий китайские символы, он преобразует их в случайные символы в пределах строки JSON перед вызовом C# Web API. Как сохранить их или мне нужно сделать кодировку их в виде байтов, а затем декодировать их в веб-API C#?

Thanks

ответ

0

Возможно, это нужно сделать больше с кодировкой, чем с Джексоном. Одним из преимуществ использования UTF-8 является то, что он поддерживает китайские символы. Я протестировал именно то, что вы сообщили, и Джексон полностью изменил персонажей. Теперь вы должны проверить, какая кодировка работает JVM, если она работает на кодировке, которая не поддерживает китайский язык, может возникнуть эта проблема.

+0

Благодарим за отзыв. Это была более старая версия Jackson JSON, которая вызывала проблему. Обновление этой версии с 1.8.2 до 2.5 разрешило эту проблему. – ZeroInfinite