Yanıtı kendim bulamadım. Nesneleri serileştirmek ve serileştirmek için ObjectMapper kullanırken jackson'a UTF-8 kodlamasını kullanmanın bir yolu var mı?Jackson ObjectMapper UTF-8 kodlaması ile mi?
sayesinde
Yanıtı kendim bulamadım. Nesneleri serileştirmek ve serileştirmek için ObjectMapper kullanırken jackson'a UTF-8 kodlamasını kullanmanın bir yolu var mı?Jackson ObjectMapper UTF-8 kodlaması ile mi?
sayesinde
Jackson otomatik olarak kaynak kullanılan kodlama algılar: JSON şartnamesine göre, yalnızca geçerli kodlamaları UTF-8, UTF-16 ve UTF-32 bulunmaktadır. Başka hiçbir kodlama (Latin-1 gibi) kullanılamaz. Bu nedenle, otomatik algılama kolay ve ayrıştırıcı tarafından yapılır - bu nedenle kodlama tespiti kabul edilmez. Yani, giriş UTF-8 ise, bu şekilde algılanır.
Çıkış için UTF-8 varsayılan değerdir; ancak açıkça başka bir kodlamayı kullanmak isterseniz, JsonGenerator
'u (JsonEncoding
alan bir yöntemle) oluşturabilir ve bunu ObjectMapper
'a geçirebilirsiniz.
Her iki durumda da alternatif olarak, java.io.Reader
/java.io.Writer
'u manuel olarak oluşturabilir ve istediğiniz herhangi bir kodlamayı kullanabilirsiniz.
UTF-8'in UTF-8 yerine UTF-8 olarak kodlanmasını sağlamak için saatler harcadığım zaman UTF-8'in nasıl varsayılan olabileceğinden emin değilim. – cbmanica
@cbmanica Güven bana, "java.io.OutputStream" verdiğinizde UTF-8 Jackson için mutlak varsayılandır. Ancak başka varsayılanlar da var: JDK'nın kendi "Writer" örneğini oluşturmayı seçtiyseniz veya başka bir lib/framework'ü yapması durumunda varsayılan kodlaması var. Bunlar Jackson'ın dışında. – StaxMan
@cbmanica Lütfen, size yardımcı olan kodunuzu paylaşabilir misiniz? Aynı konuya sahip gibi görünüyor. – Tregoreg