Jackson'daki ObjectMapper Sınıfı
Nesne Eşleştiricisi mevcut en önemli sınıflardan biridir Jackson kütüphane. JSON verilerini okumak ve yazmak için kullanılır. POJO dosyasından veya POJO dosyasına ve JSON Ağaç Modeline ve JSON Ağaç Modelinden veri okumaktan sorumludur.
ObjectMapper sınıfının aşağıdaki özellikleri vardır:
- gibi gelişmiş kavramları destekler. Polimorfizm Ve Nesne tanıma.
- Farklı JSON içeriği stilleri ile çalışmak oldukça özelleştirilebilir.
- Avans için fabrika gibi çalışıyor Nesne Okuyucu Ve Nesne Yazarı sınıflar.
ObjectMapper sınıfı şu şekilde bildirilir:
public class ObjectMapper extends ObjectCodec implements Versioned, Serializable
İç İçe Sınıflar
Aşağıdaki tablo, ObjectMapper sınıfını genişleten sınıfları veya ObjectMapper sınıfının iç içe geçmiş sınıflarını tanımlar.
| Sınıf | Tanım |
|---|---|
| DefaultTypeResolverBuilder | Bu özelleştirilmiş TipResolverBuilder kullanabileceğimiz tip çözümleyici oluşturucuları elde etmek için kullanılan sınıf 'varsayılan yazma'. |
| Varsayılan Yazma | Türlerin türünü belirtmek için, numaralandırmalar, activeDefaultTyping() yöntemiyle kullanılır. |
Şimdi ObjectMapper sınıfının alanlarını, yapıcılarını ve yöntemlerini anlayalım:
ObjectMapper Sınıfının Alanları
protected DefaultDeserializationContext _deserializationContext
Özel alt sınıflara izin vermek için saklanan bir plan bağlam nesnesidir.
protected DeserializationConfig _deserializationConfig
Seri durumdan çıkarma işlemi için temel genel ayarları tanımlamak için kullanılan bir yapılandırma nesnesidir.
korumalı JsonFactory jsonFactory
JsonParser ve JsonGenerator örneğini oluşturmak için JsonFactory kullanılır.
korumalı InjectableValues _injectableValues
Seri durumdan çıkarılan POJO'lardaki değerleri enjekte etmek için kullanılan bir sağlayıcıdır.
korumalı ConfigOverrides _propertyOverrides
Şu anda etkin olan tür başına yapılandırma geçersiz kılmalarına erişmek için kullanılır.
korumalı SimpleMixInResolver _mixIns
Karışık ek açıklamaların uygulanmasının bir yolunu tanımlamak için kullanılan bir eşlemedir. Haritalama şu şekilde yapılır:
Anahtar: Ek açıklamalar almak için yazın.
Değer: 'Karıştırılacak' ek açıklamalara sahip yazın
korumalı Set _registeredModuleTypes
Kayıtlı olan modül türleri kümesini tanımlayan bir Kümedir.
korumalı SerializationConfig _serializationConfig
Aynı zamanda serileştirme işlemine ilişkin temel genel ayarları tanımlamak için kullanılan bir yapılandırma nesnesidir.
korumalı ConcurrentHashMap
Kök düzeyinde seri hale getiricileri takip etmek için kullanılan bir haritadır. Ana seviye bir Haritadır.
korumalı SerializerFactory _serializerFactory
Serileştiricileri oluşturmak için kullanılan bir fabrikadır.
korumalı SubtypeResolver _subtypeResolver
Alt türleri kaydetmek ve gerektiğinde bunları süper/alt türler için çözmek için kullanılır.
korumalı TypeFactory _typeFactory
JavaType örnekleri oluşturmak için kullanılan bir fabrikadır. Modüllerin daha fazla özel tür işleme eklemesine izin vermek için gereklidirler.
protected DefaultSerializerProvider _serializerProvider
Serileştirme için kullanılan serileştiricilere erişimi yönetmekten sorumlu olan bir nesnedir.
korumalı statik BaseSettings DEFAULT_BASE
Tüm ObjectMapper örnekleri için kullanılan varsayılanları içeren temel ayarlardır.
ObjectMapper Sınıfının Yapıcıları
ObjectMapper sınıfının aşağıdaki yapıcıları vardır:
| Oluşturucu | Tanım |
|---|---|
| ObjectMapper() | Varsayılanı kullanan bir örneği oluşturmak için kullanılan varsayılan bir kurucudur. JsonFactory, Serileştirici Sağlayıcı, Ve BeanSerializerFactory. |
| ObjectMapper(JsonFactory fabrikası) | Verilen JsonFactory'yi kullanan bir örnek oluşturmak için kullanılır. Verilen JsonFactory oluşturmak için kullanılır JsonParser'lar ve/veya JsonGenerators. |
| ObjectMapper(JsonFactory fabrikası, SerializerProvider sağlayıcı1, SerializerProvider sağlayıcı2) | Verilenleri kullanan bir örnek oluşturmak için kullanılır. JsonFactory, Serileştirici Sağlayıcı, Ve Seri durumdan çıkarıcı sağlayıcısı. Verilen JsonFactory oluşturmak için kullanılır JsonParser'lar ve/veya JsonGenerators. |
| korumalı ObjectMapper(ObjectMapper eşleyicisi) | copy() işlevini destekleyen bir kopya oluşturucudur. |
ObjectMapper Sınıf Yöntemleri
ObjectMapper sınıfı aşağıdaki yöntemleri tanımlar:
| Yöntem | İade Türü | Tanım |
|---|---|---|
| _checkInvalidCopy(Sınıf deneyimi) | geçersiz | Geçersiz kopyayı kontrol etmek için kullanılır. |
| _configAndWriteValue(JsonGenerator g, Nesne değeri) | geçersiz | Gerektiğinde jeneratörü yapılandırmak ve ardından yazma işlevini gerçekleştirmek için kullanılır. |
| _convert(NesnedenValue'ya, JavaType'tanValueType'a) | Nesne | Gerçek dönüşüm uygulamasını elde etmek için kullanılır. Burada kod için okuma ve yazma yöntemleri kullanılmaz. |
| _initForReading(JsonParser p) | JsonToken | Verilen ayrıştırıcının veri bağlama için içeriği okumaya hazır olup olmadığını kontrol etmek için kullanılır. |
| _findRootDeserializer(SerializationContext ctxt, JavaType valueType) | JsonSeri Çözücü | Aktarılan kök düzeyindeki değer için, seri hale getiriciyi bulmak istiyorsak bu yöntemi kullanırız. |
| _newReader(SerializationConfig yapılandırması) Benzer yöntem:
| Nesne Okuyucu | Bu bir fabrika yöntemidir, yani uygun alt türden ObjectReader örneklerini almak için kullanılır. Bu yöntemin kullanılabilmesi için alt sınıfların geçersiz kılınması gerekmektedir. |
| _newWriter(SerializationConfig yapılandırması) Benzer yöntemler:
| Nesne Yazarı | Bu bir fabrika yöntemidir, yani uygun alt türden ObjectWriter örneklerini almak için kullanılır. Bu yöntemin kullanılabilmesi için alt sınıfların geçersiz kılınması gerekmektedir. |
| _readValue(SerializationConfig cfg, JsonParser p, JavaType valueType) | Nesne | Değer okuma ve bağlama işlemini tanımlayan bir nesneyi elde etmek için kullanılır. |
| _serializerProvider(SerializationConfig yapılandırması) | VarsayılanSerializerProvider | SerializerProvider'ı oluşturmak için kullanılan geçersiz kılınabilir bir yardımcı yöntemdir. |
| AcceptJsonFormatVisitor(Sınıf türü, JsonFormatVisitorWrapper ziyaretçisi) Benzer yöntem:
| geçersiz geçersiz | Belirli bir türün tür hiyerarşisini belirtilen ziyaretçiyle ziyaret etmek istiyorsak bu yöntemi kullanırız. |
| addHandler(Seri durumdan çıkarmaProblemHandler h) | Nesne Eşleştiricisi | Seri durumdan çıkarma sırasında belirtilen sorunları ele almak için, belirtilen bir DeserializationProblemHandler kullanıyoruz ve işleyiciyi eklemek için bu yöntemi kullanıyoruz. |
| addMixIn(Sınıf hedefi, Sınıf karışımıSource) | Nesne Eşleştiricisi | Belirtilen genişletme sınıfı veya arayüzü için karma açıklamayı kullanmak amacıyla, onu eklemek için bu yöntemi kullanırız. |
| canDeserialize(JavaType türü) | Boolean | Eşleştiricinin belirli bir türdeki bir nesnenin seri durumdan çıkıp çıkamayacağını kontrol etmek için kullanılır. |
| canDeserialize(JavaType türü, AtomicReference nedeni) | Boolean | Önceki yönteme benzer. Tek fark, seri hale getirici oluşturulurken atılan atılabilir nesneyi geri döndürebilmesidir. Fırlatılabilir, asıl sorunu çözmek için kullanılabilir. |
| canSerialize(Sınıf türü) | Boolean | Eşleyicinin belirtilen türdeki bir nesneyi seri hale getirip getiremeyeceğini kontrol etmek için kullanılır. |
| canSerialize(Sınıf türü, AtomicReference nedeni) | Boolean | Önceki yönteme benzer. Tek fark, seri hale getirici oluşturulurken atılan atılabilir nesneyi geri döndürebilmesidir. Fırlatılabilir, asıl sorunu çözmek için kullanılabilir. |
| clearProblemHandlers() | Nesne Eşleştiricisi | Kayıtlı tüm DeserializationProblemHandlers örneklerini eşleyiciden kaldırmak için kullanılan yöntemlerden biridir. |
| yapılandırma(Seri Kaldırma Özelliği f, boolean durumu) benzer yöntemler:
| Nesne Eşleştiricisi | Nesne eşleyici, oluşturucu örnekleri, ayrıştırıcı örnekleri, eşleyici örneği veya nesne eşleyici için serileştirmeyi kaldırma/kapama, Json Generator, JsonParser, Mapper veya Serileştirme özelliğinin durumunu değiştirmek için kullanılır. |
| buildType(Tip t) | Java Türü | JavaType'ı belirli bir türden açık bağlam olmadan oluşturmak istiyorsak bu yöntemi kullanırız. |
| ConvertValue(Object fromValue, Class toValueType) Benzer yöntemler:
| T | Belirli bir değerin, belirli bir değer türünün örneğine iki adımlı dönüşümünü gerçekleştirmek istiyorsak converValue() yöntemini kullanırız. |
| createArrayNode() | DiziDüğümü | ArrayNode'u oluşturmak için kullanılır. |
| defaultClassIntrospector() | SınıfIntrospector | Varsayılan ClassIntrospector'ı kullanmak istiyorsak, onu oluşturmak için bu Geçersiz Kılılabilir yardımcı yöntemi kullanırız. |
| devre dışı bırak (Seri durumdan çıkarma özelliği özelliği) Benzer yöntemler:
| Nesne Eşleştiricisi | Verilen DeserializationConfig'i, ayrıştırıcı örnekleri için JsonGenerator.Features'ı, nesne eşleyicinin ayrıştırıcı örnekleri için JsonParser.Features'ı devre dışı bırakmak için kullanılır. |
| Devre Dışı BırakDefaultTyping() | Nesne Eşleştiricisi | Çoğu zaman tür bilgilerinin otomatik olarak eklenmesini devre dışı bırakmamız gerekir ve bu amaçla bu yöntemi kullanırız. |
etkinleştir(Seri durumdan çıkarma özelliği özelliği)
| Nesne Eşleştiricisi | Belirtilen DeserializationConfig'i, ayrıştırıcı örnekleri için JsonGenerator.Features'ı, nesne eşleyicinin ayrıştırıcı örnekleri için JsonParser.Features'ı etkinleştirmek için kullanılır. |
| activeDefaultTyping() Benzer yöntemler:
| Nesne Eşleştiricisi | Polimorfik türlerin seri durumdan çıkarılması için tür bilgilerinin otomatik olarak dahil edilmesini kullanmak amacıyla, bunu etkinleştirmek için bu yöntemi kullanırız. |
| findAndRegisterModules() | Nesne Eşleştiricisi | Mapper.registerModules(mapper.findModules()) yöntemine benzer. |
| findModules() Benzer yöntemler:
| Liste | Mevcut yöntemleri bulmak için kullanılır. Yöntem, modül tarafından sağlanan SPI ile JDK ServiceLoader olanağını kullanır. |
| getDateFormat() | Tarih formatı | Tarih formatını elde etmek için kullanılır. |
| getDeserializationConfig() | Seri durumdan çıkarma yapılandırması | Paylaşılan varsayılan DeserializationConfig nesnesini almak için kullanılır. Döndürülen nesne seri durumdan çıkarma için yapılandırma ayarlarını tanımlar. |
| getDeserializationContext() | Seriden Çıkarma Bağlamı | Geçerli DeserializationContext'i almak için kullanılır. |
| getFactory() | JsonFactory | Eşleyicinin bir Json ayrıştırıcısı ve oluşturucuları oluşturması gerekiyorsa, json fabrikasına ihtiyacı vardır ve bunu elde etmek için getFactory() yöntemini kullanırız. |
| getInjectableValues() | Enjekte Edilebilir Değerler | Enjekte edilebilir değerleri elde etmek için kullanılır. |
| getJsonFactory() | JsonFactory | Json fabrikasını almak için kullanımdan kaldırılmış bir yöntemdir. |
| getNodeFactory() | JsonNodeFactory | Ağaçlar için doğrudan kök JsonNode örnekleri oluşturulurken eşleyici tarafından kullanılan JsonNodeFactory'yi almak için kullanılır. |
| getPropertyNamingStrategy() | Özellik Adlandırma Stratejisi | Adından da anlaşılacağı gibi özelliğin adlandırma stratejisinde kullanılır. |
| getSerializationConfig() | Serileştirme Yapılandırması | Paylaşılan varsayılan SerializationConfig nesnesini almak için kullanılır. Döndürülen nesne serileştirmeye yönelik yapılandırma ayarlarını tanımlar. |
| getSerializerFactory() | Serileştirici Fabrikası | Geçerli SerializerFactory'yi almak için kullanılır. |
| getSerializerProvider() | Serileştirici Sağlayıcı | DefaultSerializerProvider.createInstance(SerializationConfig, SerializerFactory) çağrılarak örnekler oluşturmak için kullanılan fabrikaya yönelik bir erişimcidir. |
| getSerializerProviderInstance() | Serileştirici Sağlayıcı | Serileştiricilere erişmek için kullanabileceğimiz SerializerProvider'ın bir örneğini oluşturmak ve döndürmek için kullanılan bir erişimcidir. |
| getSubtypeResolver() | Alt Tür Çözümleyici | Kullanılan alt tip çözümleyiciye erişmek için kullanılır. |
| getTypeFactory() | TipFabrika | Şu anda yapılandırılmış TypeFactory'nin bir örneğini almak için kullanılan bir erişimcidir. |
| getVisibilityChecker() | Görünürlük Kontrolü | Şu anda yapılandırılmış görünürlük denetleyicisine erişmek için kullanılır. |
| isEnabled(Seri durumdan çıkarma özelliği f) Benzer Yöntemler:
| Boolean | isEnable() yöntemi ve varyasyonları, verilen seri durumdan çıkarmaya özgü, JsonFactory, JsonGenerator, JsonParser, Mapper veya Serileştirme özelliğinin etkin olup olmadığını kontrol etmek için kullanılır. |
| mixInCount() | int | MixIn sayısını almak için kullanılır. |
| okuyucu() Benzer Yöntemler:
| Nesne Okuyucu | Reader() yöntemi ve onun varyasyonları, ObjectReader'ın bir örneğini oluşturmak için kullanılan fabrika yöntemleridir. Gereksinime bağlı olarak, Base64 ile kodlanmış ikili veriler için Base64 kodlama varyantını, varsayılan nitelikleri, etkin özellikleri, enjekte edilebilir değerleri, JSON ağaçlarını oluşturmak için JsonNodeFactory'yi aktarabiliriz. |
| okuyucuFor(Sınıf türü) | Nesne Okuyucu | ObjectReader'ı oluşturmak için kullanılan ve belirtilen türdeki örnekler için okuma veya güncelleme işlemlerine izin veren bir fabrika yöntemidir. |
| okuyucuFor(JavaType türü) | Nesne Okuyucu | Belirtilen JavaType örnekleri için okuma veya güncelleme işlemlerine izin veren, ObjectReader'ı oluşturmak için kullanılan bir fabrika yöntemidir. |
| okuyucuFor(TipReferans türü) | Nesne Okuyucu | ObjectReader'ı oluşturmak için kullanılan ve verilen TypeReference örnekleri için okuma veya güncelleme işlemlerine izin veren bir fabrika yöntemidir. |
| ReaderForUpdating(Object valueToUpdate) | Nesne Okuyucu | Verilen nesne için güncelleme işlemlerine izin veren ObjectReader'ı oluşturmak için kullanılan bir fabrika yöntemidir. |
| okuyucuWithView(Sınıf görünümü) | Nesne Okuyucu | ObjectReader'ı oluşturmak için kullanılan bir fabrika yöntemidir. Verilen JSON Görünümü ile nesnelerin seri durumdan çıkarılması. |
readTree(bayt[] içeriği)
| JsonNode VEYA T | ReadTree() ve varyasyonları, JSON içeriğini bir dizi JsonNode örneği kullanılarak ifade edilen bir ağaç olarak seri durumdan çıkarmak için kullanılır. |
| readValue(byte[] src, Class valueType) Benzer Yöntemler
| T VEYA HaritalamaYineleyici | readValue() ve varyasyonları, JSON içeriğinin seri durumdan çıkarılması için kullanılır
|
| readValues(JsonParser p, Class valueType) Benzer yöntemler:
| HaritalamaYineleyici | readValues() ve onun varyasyonları, ayrıştırıcı akışındaki Nesnelerin sırasını okumak için kullanılır. |
| RegisterModule(Modül modülü) Benzer yöntemler:
| Nesne Eşleştiricisi | RegisterModule() ve varyasyonları, eşleyici tarafından sağlanan işlevselliği genişletme kapasitesine sahip bir modülü kaydetmek için kullanılır. |
| RegisterSubtypes(NamedType... türleri) | geçersiz | Verilen sınıfı alt tür olarak kaydetmek için kullanılır. Bunu yaparak, tür adına dayalı çözümleme, üst türleri alt türlere bağlayabilir. |
| setAnnotationIntrospector(AnnotationIntrospector ai) | Nesne Eşleştiricisi | Eşleştirici örneği tarafından hem serileştirme hem de seri durumdan çıkarma için kullanılan AnnotationIntrospector'ı ayarlamak için kullanılır. |
| setAnnotationIntrospectors(AnnotationIntrospector seri hale getiriciAI, AnnotationIntrospector seri hale getiriciAI) | Nesne Eşleştiricisi | Geçerli eşleyici örneği tarafından serileştirme ve seri durumdan çıkarma için kullanılan AnnotationIntrospector örneğini değiştirmek için kullanılır. |
| setBase64Variant(Base64Variant v) | Nesne Eşleştiricisi | Bayt[] seri hale getiriciler ve seri hale getiriciler tarafından kullanılacak varsayılan Base64Variant'ı yapılandırmak için kullanılır. |
| setConfig(Seri durumdan çıkarmaConfig yapılandırması) | Nesne Eşleştiricisi | Temel DeserializationConfig Nesnesinin geçersiz kılınmasını gerçekleştirmek için bu yöntemi kullanırız. |
| setConfig(SerializationConfig yapılandırması) | Nesne Eşleştiricisi | Serileştirmeye özgü yapılandırma ayarlarına sahip olan temel SerializationConfig Nesnesinin geçersiz kılınmasını gerçekleştirmek için bu yöntemi kullanıyoruz. |
| setDateFormat(DateFormat dateFormat) | Nesne Eşleştiricisi | Varsayılan DateFormat'ı, zaman değerlerinin Dizeler olarak serileştirilmesi veya JSON Dizelerinden serileştirmenin kaldırılması sırasında kullanılacak şekilde yapılandırmak için kullanılır. |
| setDefaultPrettyPrinter(PrettyPrinter pp) | Nesne Eşleştiricisi | 'Varsayılan güzel yazdırma' etkinleştirildiğinde PrettyPrinter'ın kullanılacağını belirtmek için kullanılır. |
| setDefaultTyping(TypeResolverBuilder tipi yazarı) | Nesne Eşleştiricisi | Tür bilgilerinin otomatik olarak eklenmesini sağlamak için kullanılır. |
| setHandlerInstantiator(HandlerInstantiator merhaba) | Nesne | HandlerInstantiator'ı işleyici örnekleri oluşturmak için kullanılacak şekilde yapılandırmak için kullanılır. |
| setFilterProvider(FilterProvider filterProvider) | Nesne Eşleştiricisi | Geçerli eşleyiciyi, Filtre Kimliklerini gerçek filtre örnekleriyle eşlemek için belirtilen FilterProvider'ı kullanacak şekilde yapılandırmak için kullanılır. |
| setInjectableValues(InjectableValues injectableValues) | Nesne Eşleştiricisi | Enjekte edilecek değerleri bulmak için kullanılan InjectableValues'u yapılandırmak için kullanılır. |
| setLocale(Yerel l) | Nesne Eşleştiricisi | Biçimlendirme için kullanılacak varsayılan yerel ayarı geçersiz kılmak için kullanılır. |
| setMixInResolver(ClassIntrospector.MixInResolver çözümü) | Nesne Eşleştiricisi | Doğrudan eklenen eşlemeleri geçersiz kılarak, kullanılacak karma sınıfları bulmak için verilen çözümleyiciyi belirtmek için bu yöntemi kullanırız. |
| setMixInAnnotations(Harita | geçersiz | Karışım ek açıklamasını tanımlamak için amortismana tabi tutulmuş bir yöntemdir. |
| setNodeFactory(JsonNodeFactory f) | Nesne Eşleştiricisi | Kök düzeyinde ağaç düğümleri oluşturmak için kullanılacak JsonNodeFactory'yi belirtmek için kullanılır. |
| setMixIns(Harita | Nesne Eşleştiricisi | İşlenebilir sınıfların sahip olduğu ek açıklamaları artırmak için kullanılacak karma ek açıklamaları tanımlamak için kullanılır. |
| setPropertyInclusion(JsonInclude.Value dahil) | Nesne Eşleştiricisi | Serileştirme için varsayılan POJO özelliği ekleme stratejisini ayarlamak için kullanılır. |
| setPropertyNamingStrategy(PropertyNamingStrategy s) | Nesne Eşleştiricisi | Kullanılacak özel özellik adlandırma stratejisini ayarlamak için kullanılır. |
| setSerializerFactory(SerializerFactory f) | Nesne Eşleştiricisi | (Fasulye) serileştiriciler oluşturmak için kullanılacak belirli SerializerFactory'yi ayarlamak için kullanılır. |
| setSerializerProvider(DefaultSerializerProvider p) | Nesne Eşleştiricisi | JsonSerializer örneklerinin önbelleğe alınmasında kullanılacak gerçek sağlayıcı örneklerine temel olarak kullanmak üzere 'plan' SerializerProvider örneğini ayarlamak için kullanılır. |
| setSubtypeResolver(SubtypeResolver str) | Nesne Eşleştiricisi | Kullanılacak özel alt tür çözümleyiciyi ayarlamak için kullanılır. |
| setTimeZone(TimeZone tz) | Nesne Eşleştiricisi | Biçimlendirme için kullanılacak varsayılan TimeZone'u geçersiz kılmak için kullanılır. |
| setTypeFactory(TypeFactory f) | Nesne Eşleştiricisi | Geçerli eşleyici tarafından kullanılan TypeFactory örneğini geçersiz kılmak için kullanılır. |
setVisibility(PropertyAccessor forMethod, JsonAutoDetect.Visibility görünürlük)
| Nesne Eşleştiricisi | setVisibility() ve onun varyasyonu, halihazırda yapılandırılmış olan VisibilityChecker'ı ayarlamak için kullanılır. Döndürülen ObjectMapper örneği, verilen özellik öğesinin otomatik olarak algılanıp algılanamayacağını kontrol etmek için kullanılır. |
| TreeAsTokens(TreeNode n) | JsonParser | JSON ağaç temsilinden bir JsonParser oluşturmak için kullanılır. |
| TreeToValue(TreeNode n, Sınıf değeriType) | T | JSON ağacının içerdiği verileri belirli bir değer türüne bağlamak için kullanılır. |
| sürüm() | Sürüm | Bu sınıfı içeren jar'da saklanan ve buradan okunan sürüm bilgisini almak için kullanılır. |
yazar()
| Nesne Yazarı | Write() ve varyasyonları, ObjectWriter'ı varsayılan ayarlarla oluşturmak için kullanılır; Base64 kodlu ikili veriler için Base64 kodlama değişkeni, çıktı için karakter kaçış ayrıntıları, varsayılan nitelikler, DateFormat, filtre sağlayıcı, içerik yazmak için kullanılan JsonGenerator'a şema nesnesi, girinti için güzel bir yazıcı veya özellik etkin. |
| writeFor(Sınıf rootType) - | Nesne Yazarı | Gerçek çalışma zamanı türü değeri yerine belirtilen kök türünü kullanarak nesneleri serileştirmek için ObjectWriter'ı oluşturmak için kullanılır. |
| writeFor(JavaType rootType) | Nesne Yazarı | Gerçek çalışma zamanı türü değeri yerine belirtilen kök türünü kullanarak nesneleri serileştirmek için ObjectWriter'ı oluşturmak için kullanılır. |
| writeFor(TypeReference rootType) | Nesne Yazarı | Gerçek çalışma zamanı türü değeri yerine belirtilen kök türünü kullanarak nesneleri serileştirmek için ObjectWriter'ı oluşturmak için kullanılır. |
| WriterWithDefaultPrettyPrinter() | Nesne Yazarı | Girinti için oldukça varsayılan yazıcıyı kullanarak nesneleri serileştirmek amacıyla ObjectWriter'ı oluşturmak için kullanılan bir fabrika yöntemidir. |
writeWithType(Sınıf rootType)
| Nesne Yazarı | Bu yöntemler amortismana tabi tutulmuştur ve bunların yerine writeFor(TypeReference) yöntemini kullanırız. |
| writerWithView(Sınıf serileştirmeView) | Nesne Yazarı | Belirtilen JSON Görünümünü kullanarak nesneleri serileştirmek amacıyla ObjectWriter'ı oluşturmak için kullanılan bir fabrika yöntemidir. |
| writeTree(JsonGenerator jgen, JsonNode rootNode) | geçersiz | Verilen JsonGenerator'ı kullanarak sağlanan JSON Ağacını serileştirmek için kullanılır. |
| writeValue(Dosya sonuçDosyası, Nesne değeri) | geçersiz | Java değerini JSON çıktısı olarak serileştirmek ve verilene yazmak için kullanılır. dosya. |
| writeValue(JsonGenerator g, Nesne değeri). | geçersiz | Verilenleri kullanarak Java değerlerini JSON çıkışı olarak serileştirmek için kullanılır. JsonGenerator. |
| writeValue(OutputStream çıkışı, Nesne değeri) | geçersiz | Verilenleri kullanarak Java değerini JSON çıkışı olarak serileştirmek için kullanılır. OutputStream. |
| writeValue(Yazar w, Nesne değeri) | geçersiz | Verilenleri kullanarak Java değerlerini JSON çıkışı olarak serileştirmek için kullanılır. Yazar. |
| writeValueAsBytes(Nesne değeri) | bayt[] | Java değerlerini bayt dizisi olarak serileştirmek için kullanılır. |
| writeValueAsString(Nesne değeri) | Sicim | Java değerlerini String olarak serileştirmek için kullanılır. |
JacksonExample.java
//import required classes and package if any package javaTpoint.Jackson; import java.io.IOException; import java.util.List; import com.fasterxml.jackson.core.JsonParseException; import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.ObjectMapper; //create class JacksonExample to understand implementation of Jackson public class JacksonExample { // main() method start public static void main(String args[]){ // create an instance of ObjectMapper class ObjectMapper mapper = new ObjectMapper(); // create a JSON string of employee details to deserilized object String stdString = '{
'students' : [
{
'stdId':'001',
'course':'MCA','+'
'firstName':'Nicholas',
'lastName':'Clemens',
'preferredFullName':'Nicholas Clemens','+'
'enrol':'S010',
'region':'indian',
'phoneNumber':'408-1234567',
'emailAddress''+':'[email protected]'
},
{
'stdId':'002',
'course':'BCA','+'
'firstName':'Sharon',
'lastName':'Lorenz',
'preferredFullName':'Sharon Lorenz','+'
'enrol':'S011',
'region':'indian',
'phoneNumber':'408-1111111',
'emailAddress''+':'[email protected]'
},
{
'stdId':'003',
'course':'Btech','+'
'firstName':'Brittany',
'lastName':'Hart',
'preferredFullName':'Brittany Hart',
''+'enrol':'S012',
'region':'indian',
'phoneNumber':'408-2222222',
'emailAddress':'[email protected]'
}
]
}'; try{ // use ObjectMapper for mapping JSON to Student Students students = mapper.readValue(stdString, Students.class); // print students System.out.println(students); // serialize students into json string stdString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(students); System.out.println(stdString); }catch (JsonParseException e) { e.printStackTrace(); }catch (JsonMappingException e) { e.printStackTrace(); }catch (IOException e) { e.printStackTrace(); } } } //create Students class class Students { public List students; // getter and setter public List getStudent() { return students; } public void setStudent(List students) { this.students = students; } } class Student { // declare variables private String stdId; private String course; private String firstName; private String lastName; private String preferredFullName; private String enrol; private String region; private String phoneNumber; private String emailAddress; public Student(){ } // getter/setters for all variables public String getStdId() { return stdId; } public void setStdId(String stdId) { this.stdId = stdId; } public String getCourse() { return course; } public void getCourse(String course) { this.course = course; } public String getFirstName() { return firstName; } public void setFirstName(String firstName) { this.firstName = firstName; } public String getLastName() { return lastName; } public void setLastName(String lastName) { this.lastName = lastName; } public String getPreferredFullName() { return preferredFullName; } public void setPreferredFullName(String preferredFullName) { this.preferredFullName = preferredFullName; } public String getEnrol() { return enrol; } public void setEnrol(String enrol) { this.enrol = enrol; } public String getRegion() { return region; } public void setRegion(String region) { this.region = region; } public String getPhoneNumber() { return phoneNumber; } public void setPhoneNumber(String phoneNumber) { this.phoneNumber = phoneNumber; } public String getEmailAddress() { return emailAddress; } public void setEmailAddress(String emailAddress) { this.emailAddress = emailAddress; } public String toString(){ return 'Employee [ Student Id: '+stdId+', Course: '+course+ '' + ', First Name: '+firstName+ ', Last Name: '+lastName+ '' + ', Name: '+preferredFullName+ ', Enrol No: '+enrol+ '' + ', Region: '+region+ ', Phone Number: '+phoneNumber+ '' + ', Email Address: '+emailAddress+ ' ]'; } } Çıktı: