Jackson - Hızlı Kılavuz
Jackson, java nesnelerini JSON'a ve tam tersine serileştirmek için basit bir java tabanlı kütüphanedir.
Özellikleri
Easy to use. - jackson API, yaygın olarak kullanılan kullanım durumlarını basitleştirmek için yüksek düzeyde bir cephe sağlar.
No need to create mapping. - jackson API, serileştirilecek nesnelerin çoğu için varsayılan eşleme sağlar.
Performance. - Jackson oldukça hızlıdır ve düşük bellek ayak izine sahiptir ve büyük nesne grafikleri veya sistemleri için uygundur.
Clean JSON. - jackson, okunması kolay, temiz ve kompakt bir JSON sonuçları oluşturur.
No Dependency. - jackson kütüphanesi jdk dışında herhangi bir kütüphane gerektirmez.
Open Source - jackson kütüphanesi açık kaynak kodludur ve kullanımı ücretsizdir.
JSON'u işlemenin üç yolu
Jackson, JSON'u işlemek için üç alternatif yol sağlar
Streaming API- JSON içeriğini ayrık olaylar olarak okur ve yazar. JsonParser verileri okurken, JsonGenerator verileri yazar. Üçü arasında en güçlü yaklaşımdır ve en düşük ek yüke sahiptir ve okuma / yazma işlemlerinde en hızlıdır. XML için Stax ayrıştırıcısının Analogus'udur.
Tree Model- JSON belgesinin bellek içi ağaç gösterimini hazırlar. ObjectMapper, JsonNode düğümlerinin ağacını oluşturur. En esnek yaklaşımdır. XML için DOM ayrıştırıcısına benzer.
Data Binding - özellik erişimcisini veya ek açıklamaları kullanarak JSON'u POJO'ya (Düz Eski Java Nesnesi) ve POJO'dan dönüştürür. İki tiptir.
Simple Data Binding - JSON'u Java Haritaları, Listeler, Dizeler, Sayılar, Booleanlar ve boş nesnelere ve bunlardan dönüştürür.
Full Data Binding - JSON'u herhangi bir JAVA türüne ve türünden dönüştürür.
Çevrimiçi Seçeneği Deneyin
JAVA tabanlı bir kütüphane olan Guava'yı öğrenmeye başlamak için gerçekten kendi ortamınızı kurmanıza gerek yok. Sebep çok basit, Java Programlama ortamını çevrimiçi olarak kurduk, böylece teori çalışmanızı yaparken aynı anda mevcut tüm örnekleri çevrimiçi olarak derleyip çalıştırabilirsiniz. Bu, okuduğunuza güvenmenizi ve sonucu farklı seçeneklerle kontrol etmenizi sağlar. Herhangi bir örneği değiştirmekten ve çevrimiçi yürütmekten çekinmeyin.
Aşağıdaki örneği kullanarak deneyin Try it aşağıdaki örnek kod kutusunun sağ üst köşesinde bulunan seçenek:
public class MyFirstJavaProgram { public static void main(String []args) { System.out.println("Hello World"); } }
Bu eğitimde verilen örneklerin çoğu için şunları bulacaksınız: Try it seçenek, bu yüzden sadece onu kullanın ve öğrenmenin tadını çıkarın.
Yerel Ortam Kurulumu
Hala ortamınızı Java programlama dili için kurmaya istekliyseniz, bu bölüm Java'yı makinenize nasıl indirip kuracağınız konusunda size yol gösterir. Ortamı kurmak için lütfen aşağıdaki adımları izleyin.
Java SE, Java İndirme bağlantısından ücretsiz olarak edinilebilir . Böylece işletim sisteminize göre bir sürüm indirirsiniz.
Java'yı indirmek için talimatları izleyin ve .exeMakinenize Java yüklemek için. Java'yı makinenize yükledikten sonra, ortam değişkenlerini doğru yükleme dizinlerini gösterecek şekilde ayarlamanız gerekir:
Windows 2000 / XP için yolun ayarlanması:
Java'yı c: \ Program Files \ java \ jdk dizinine kurduğunuzu varsayarsak :
"Bilgisayarım" ı sağ tıklayın ve "Özellikler" i seçin.
"Gelişmiş" sekmesinin altındaki "Ortam değişkenleri" düğmesini tıklayın.
Şimdi, 'Yol' değişkenini, Java yürütülebilir dosyasının yolunu da içerecek şekilde değiştirin. Örneğin, yol şu anda 'C: \ WINDOWS \ SYSTEM32' olarak ayarlanmışsa, yolunuzu 'C: \ WINDOWS \ SYSTEM32; c: \ Program Files \ java \ jdk \ bin' olarak değiştirin.
Windows 95/98 / ME için yolun ayarlanması:
Java'yı c: \ Program Files \ java \ jdk dizinine kurduğunuzu varsayarsak :
'C: \ autoexec.bat' dosyasını düzenleyin ve sonuna şu satırı ekleyin:
'SET PATH =% PATH%; C: \ Program Files \ java \ jdk \ bin'
Linux, UNIX, Solaris, FreeBSD için yolun ayarlanması:
PATH ortam değişkeni, Java ikili dosyalarının kurulu olduğu yeri gösterecek şekilde ayarlanmalıdır. Bunu yapmakta sorun yaşıyorsanız, kabuk belgelerinize bakın.
Örneğin, kabuğunuz olarak bash kullanırsanız , aşağıdaki satırı '.bashrc: export PATH = / path / to / java: $ PATH'in sonuna eklersiniz.
Popüler Java Editörleri:
Java programlarınızı yazmak için bir metin düzenleyiciye ihtiyacınız olacak. Piyasada daha da karmaşık IDE'ler mevcuttur. Ancak şimdilik aşağıdakilerden birini düşünebilirsiniz:
Notepad: Windows makinesinde, Not Defteri (Bu eğitim için önerilir), TextPad gibi herhangi bir basit metin düzenleyiciyi kullanabilirsiniz.
Netbeans:açık kaynak kodlu ve ücretsiz bir Java IDE'dir, buradan indirilebilir http://www.netbeans.org/index.html.
Eclipse: ayrıca eclipse açık kaynak topluluğu tarafından geliştirilen bir Java IDE'dir ve şu adresten indirilebilir: http://www.eclipse.org/.
Jackson arşivini indirin
Jackson jar dosyasının en son sürümünü Maven Repository - Jackson'dan indirin . Bu eğiticide, jackson-core-2.8.9.jar, jackson-annotations-2.8.9.jar ve jackson-databind-2.8.9.jar indirilir ve C: \> jackson klasörüne kopyalanır.
işletim sistemi | Arşiv adı |
---|---|
pencereler | jackson-xxx-2.8.9.jar |
Linux | jackson-xxx-2.8.9.jar |
Mac | jackson-xxx-2.8.9.jar |
Jackson ortamını ayarla
Yı kur jackson_HOMEGuava jar'ın makinenizde depolandığı temel dizin konumunu gösteren ortam değişkeni. Varsayalım ki, jackson-core-2.8.9.jar, jackson-annotations-2.8.9.jar ve jackson-databind-2.8.9.jar'ı çeşitli İşletim Sistemlerinde jackson klasörüne aşağıdaki gibi çıkardık.
işletim sistemi | Çıktı |
---|---|
pencereler | Jackson_HOME ortam değişkenini C: \ jackson olarak ayarlayın |
Linux | jackson_HOME = / usr / local / jackson dışa aktar |
Mac | ihracat jackson_HOME = / Kitaplık / jackson |
CLASSPATH değişkenini ayarla
Yı kur CLASSPATHjackson kavanoz konumuna işaret etmek için ortam değişkeni. Varsayalım ki, jackson-core-2.8.9.jar, jackson-annotations-2.8.9.jar ve jackson-databind-2.8.9.jar'ı aşağıdaki gibi çeşitli İşletim Sistemlerinde jackson klasöründe sakladık.
işletim sistemi | Çıktı |
---|---|
pencereler | CLASSPATH ortam değişkenini% CLASSPATH%;% jackson_HOME% \ jackson-core-2.8.9.jar;% jackson_HOME% \ jackson-databind-2.8.9.jar;% jackson_HOME% \ jackson-annotations-2.8.9 olarak ayarlayın. kavanoz;.; |
Linux | dışa aktar CLASSPATH = $ CLASSPATH:$jackson_HOME/jackson-core-2.8.9.jar:$jackson_HOME / jackson-databind-2.8.9.jar: $ jackson_HOME / jackson-annotations-2.8.9.jar :. |
Mac | dışa aktar CLASSPATH = $ CLASSPATH:$jackson_HOME/jackson-core-2.8.9.jar:$jackson_HOME / jackson-databind-2.8.9.jar: $ jackson_HOME / jackson-annotations-2.8.9.jar :. |
Jackson kütüphanesinin detaylarına geçmeden önce, bir uygulamanın nasıl çalıştığını görelim. Bu örnekte Öğrenci sınıfı oluşturduk. Öğrenci ayrıntılarıyla bir JSON dizesi oluşturacağız ve bunu öğrenci nesnesine serisini kaldıracağız ve ardından bir JSON Dizesi olarak serileştireceğiz.
JacksonTester adlı bir java sınıf dosyası oluşturun. C:\>Jackson_WORKSPACE.
Dosya: JacksonTester.java
import java.io.IOException;
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
public class JacksonTester {
public static void main(String args[]){
ObjectMapper mapper = new ObjectMapper();
String jsonString = "{\"name\":\"Mahesh\", \"age\":21}";
//map json to student
try{
Student student = mapper.readValue(jsonString, Student.class);
System.out.println(student);
jsonString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(student);
System.out.println(jsonString);
}
catch (JsonParseException e) { e.printStackTrace();}
catch (JsonMappingException e) { e.printStackTrace(); }
catch (IOException e) { e.printStackTrace(); }
}
}
class Student {
private String name;
private int age;
public Student(){}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String toString(){
return "Student [ name: "+name+", age: "+ age+ " ]";
}
}
Verify the result
Kullanarak sınıfları derleyin javac aşağıdaki gibi derleyici:
C:\Jackson_WORKSPACE>javac JacksonTester.java
Şimdi sonucu görmek için jacksonTester'ı çalıştırın:
C:\Jackson_WORKSPACE>java JacksonTester
Çıkışı Doğrulayın
Student [ name: Mahesh, age: 21 ]
{
"name" : "Mahesh",
"age" : 21
}
Hatırlanması gereken adımlar
Burada dikkate alınması gereken önemli adımlar aşağıdadır.
Adım 1: ObjectMapper nesnesi oluşturun.
ObjectMapper nesnesi oluşturun. Yeniden kullanılabilir bir nesnedir.
ObjectMapper mapper = new ObjectMapper();
Adım 2: JSON'u Nesneye Serileştirme.
JSON'dan Object'i almak için readValue () yöntemini kullanın. Json dizesini / kaynağını json dizesini ve nesne türünü parametre olarak iletin.
//Object to JSON Conversion
Student student = mapper.readValue(jsonString, Student.class);
Adım 3: Nesneyi JSON'a Seri Hale Getirin.
Bir nesnenin JSON dize temsilini almak için writeValueAsString () yöntemini kullanın.
//Object to JSON Conversion
jsonString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(student);
ObjectMapper, Jackson kütüphanesinin ana aktör sınıfıdır. ObjectMapper sınıfı ObjectMapper, temel POJO'lardan (Düz Eski Java Nesneleri) veya genel amaçlı bir JSON Ağaç Modeline (JsonNode) veya bu modelden JSON okuma ve yazma işlevlerinin yanı sıra dönüşümleri gerçekleştirmek için ilgili işlevsellik sağlar. Ayrıca, hem farklı JSON içeriği stilleri ile çalışmak hem de çok biçimlilik ve Nesne kimliği gibi daha gelişmiş Nesne kavramlarını desteklemek için oldukça özelleştirilebilir. ObjectMapper ayrıca daha gelişmiş ObjectReader ve ObjectWriter sınıfları için bir fabrika görevi görür.
Sınıf Beyanı
Aşağıdaki beyanı com.fasterxml.jackson.databind.ObjectMapper sınıf -
public class ObjectMapper
extends ObjectCodec
implements Versioned, Serializable
Yuvalanmış Sınıflar
S.No. | Sınıf ve Açıklama |
---|---|
1 | static class ObjectMapper.DefaultTypeResolverBuilder Sözde "varsayılan yazma" ile kullanılan tür çözümleyici oluşturucular sağlayan özelleştirilmiş TypeResolverBuilder (ayrıntılar için bkz. EnableDefaultTyping ()). |
2 | static class ObjectMapper.DefaultTyping EnableDefaultTyping () ile hangi türler (sınıflar) için varsayılan yazmanın kullanılması gerektiğini belirtmek için kullanılan numaralandırma. |
Alanlar
protected DeserializationConfig _deserializationConfig - Serileştirme işlemi için temel genel ayarları tanımlayan yapılandırma nesnesi.
protected DefaultDeserializationContext _deserializationContext- Blueprint bağlam nesnesi; özel alt sınıflara izin vermek için burada saklanır.
protected InjectableValues _injectableValues - Serileştirilmemiş POJO'lara enjekte edilecek değerler için sağlayıcı.
protected JsonFactory _jsonFactory - Fabrika, gerektiğinde JsonParser ve JsonGenerator örneklerini oluşturmak için kullanılır.
protected SimpleMixInResolver _mixIns - Karma ek açıklamaların nasıl uygulanacağını tanımlayan eşleme: anahtar, ek açıklamaların alınacağı türdür ve değer, "karıştırılacak" ek açıklamaları olan türdür.
protected ConfigOverrides _propertyOverrides - Belirtilen özellik türü tarafından erişilen, şu anda tür başına etkin yapılandırma geçersiz kılmaları.
protected Set<Object> _registeredModuleTypes - Modül türleri kümesi (Modül.getTypeId () 'ye göre kaydedilmiş; MapperFeature.IGNORE_DUPLICATE_MODULE_REGISTRATIONS izninin tutulması etkinleştirilir, böylece yinelenen kayıt çağrıları yok sayılabilir (çoğunlukla aynı işleyicileri birden çok kez eklemekten kaçınmak için).
protected ConcurrentHashMap<JavaType,JsonDeserializer<Object>> _rootDeserializers - Kök düzeyindeki seriyi kaldırma işlemlerini takip etmek için ayrı bir ana düzey Harita kullanacağız.
protected SerializationConfig _serializationConfig - Serileştirme işlemi için temel genel ayarları tanımlayan yapılandırma nesnesi.
protected SerializerFactory _serializerFactory - Serileştiricilerin yapımında kullanılan serileştirici fabrikası.
protected DefaultSerializerProvider _serializerProvider - Önbelleğe alma dahil olmak üzere serileştirme için kullanılan serileştiricilere erişimi yöneten nesne.
protected SubtypeResolver _subtypeResolver - Alt türleri kaydetmek, gerektiğinde onları süper / alt türlere çözümlemek için kullanılan şey.
protected TypeFactory _typeFactory- JavaType örnekleri oluşturmak için kullanılan belirli fabrika; modüllerin daha fazla özel tür işleme eklemesine izin vermek için gerekli (çoğunlukla Java dışı JVM dil türlerini desteklemek için).
protected static AnnotationIntrospector DEFAULT_ANNOTATION_INTROSPECTOR
protected static BaseSettings DEFAULT_BASE - Temel ayarlar, tüm ObjectMapper örnekleri için kullanılan varsayılanları içerir.
protected static VisibilityChecker<?> STD_VISIBILITY_CHECKER
İnşaatçılar
S.No. | Oluşturucu ve Açıklama |
---|---|
1 | ObjectMapper() Varsayılan JsonFactory'yi gerektiği gibi oluşturacak olan varsayılan kurucu, SerializerProvider olarak SerializerProvider'ı ve SerializerFactory'si olarak BeanSerializerFactory'yi kullanır. |
2 | ObjectMapper(JsonFactory jf) Gerekli JsonParsers ve / veya JsonGenerator'ları oluşturmak için belirtilen JsonFactory'yi kullanan örneği oluşturur. |
3 | ObjectMapper(JsonFactory jf, SerializerProvider sp, DeserializerProvider dp) Gerekli JsonParser'ları ve / veya JsonGenerator'ları oluşturmak için belirtilen JsonFactory'yi kullanan örneği oluşturur ve serileştiricilere ve seriyi kaldırıcılara erişmek için belirli sağlayıcıları kullanır. |
4 | protected ObjectMapper(ObjectMapper src) Copy-constructor, çoğunlukla copy () 'yi desteklemek için kullanılır. |
Yöntemler
Serileştirme için kullanmak üzere SerializerProvider'ı oluşturmak için kullanılan geçersiz kılınabilir yardımcı yöntem. void addMixInAnnotations (Sınıf <?> hedef, Sınıf <?> mixinSource) - Kullanımdan kaldırıldı. 2.5'ten beri: yöntemin akıcı bir formu ile değiştirildi; addMixIn (Sınıf, Sınıf). korumalı DefaultDeserializationContext createDeserializationContext (JsonParser p, DeserializationConfig cfg) - Tek bir kök değerinin serisini kaldırmak için DeserializationContext örneğini oluşturmak için çağrılan dahili yardımcı yöntem. JsonSchema generateJsonSchema (Class <?> T) - Kullanımdan kaldırıldı. 2.6 harici JSON Schema generator (https://github.com/FasterXML/jackson-module-jsonSchema) kullandığından beri (başlık altında acceptJsonFormatVisitor (JavaType, JsonFormatVisitorWrapper)) void registerSubtypes (Class <?> ... sınıfları) - Belirtilen sınıfı bir alt tür olarak kaydetme yöntemi, böylece tür adına dayalı çözümleme, süper türleri alt türlere bağlayabilir (ek açıklamaları kullanmaya alternatif olarak). void setFilters (FilterProvider filterProvider) - Kullanımdan kaldırıldı. 2.6'dan beri, bunun yerine setFilterProvider (com.fasterxml.jackson.databind.ser.FilterProvider) kullanın (zincirlemeye izin verir) Çıktı için belirtilen karakter kaçış ayrıntılarını kullanacak ObjectReader oluşturmak için Factory yöntemi.1 | protected void _checkInvalidCopy(Class<?> exp) |
2 | protected void _configAndWriteValue(JsonGenerator g, Object value) - Oluşturucuyu gerektiği gibi yapılandırmak ve ardından yazma işlevini çağırmak için yöntem çağrılır |
3 | protected Object _convert(Object fromValue, JavaType toValueType) - Gerçek dönüştürme uygulaması: Mevcut okuma ve yazma yöntemlerini kullanmak yerine, kodun çoğu satır içine yerleştirilmiştir. |
4 | protected JsonDeserializer<Object> _findRootDeserializer(DeserializationContext ctxt, JavaType valueType) - Aktarılan kök düzeyi değeri için seriyi kaldırıcıyı bulmak üzere çağrılan yöntem. |
5 | protected JsonToken _initForReading(JsonParser p) - Verilen ayrıştırıcının veri bağlama için içeriği okumaya hazır olmasını sağlamak için yöntem çağrılır. |
6 | protected ObjectReader _newReader(DeserializationConfig config) - Fabrika yöntemi alt sınıfları, uygun alt türden ObjectReader örnekleri üretmek için geçersiz kılınmalıdır |
7 | protected ObjectReader _newReader(DeserializationConfig config, JavaType valueType, Object valueToUpdate, FormatSchema schema, InjectableValues injectableValues) - Fabrika yöntemi alt sınıfları, uygun alt türden ObjectReader örnekleri üretmek için geçersiz kılınmalıdır |
8 | protected ObjectWriter _newWriter(SerializationConfig config) - Fabrika yöntemi alt sınıfları, uygun alt türden ObjectWriter örnekleri üretmek için geçersiz kılınmalıdır |
9 | protected ObjectWriter _newWriter(SerializationConfig config, FormatSchema schema) - Fabrika yöntemi alt sınıfları, uygun alt türden ObjectWriter örnekleri üretmek için geçersiz kılınmalıdır |
10 | protected ObjectWriter _newWriter(SerializationConfig config, JavaType rootType, PrettyPrinter pp) - Uygun alt tipte ObjectWriter örnekleri üretmek için fabrika yöntemi alt sınıfları geçersiz kılınmalıdır. |
11 | protected Object _readMapAndClose(JsonParser p0, JavaType valueType) |
12 | protected Object _readValue(DeserializationConfig cfg, JsonParser p, JavaType valueType) - Değer okuma + bağlama işleminin fiili uygulaması. |
13 | protected DefaultSerializerProvider _serializerProvider(SerializationConfig config) |
14 | protected Object _unwrapAndDeserialize(JsonParser p, DeserializationContext ctxt, DeserializationConfig config, JavaType rootType, JsonDeserializer<Object> deser) |
15 | protected void _verifySchemaType(FormatSchema schema) |
16 | void acceptJsonFormatVisitor(Class<?> type, JsonFormatVisitorWrapper visitor) - Belirtilen ziyaretçiyi kullanarak, belirli tür için ziyaret türü hiyerarşisi yöntemi. |
17 | void acceptJsonFormatVisitor(JavaType type, JsonFormatVisitorWrapper visitor) - Belirtilen ziyaretçiyi kullanarak, belirli tür için ziyaret türü hiyerarşisi yöntemi. |
18 | ObjectMapper addHandler(DeserializationProblemHandler h) - Seri durumdan çıkarma sırasında belirli sorunları ele almak için kullanılacak, belirtilen Seri Durumdan ÇıkarmaProblemHandler ekleme yöntemi. |
19 | ObjectMapper addMixIn(Class<?> target, Class<?> mixinSource) - Belirtilen sınıfı veya arabirimi genişletmek için kullanılacak karma ek açıklamalar eklemek için kullanılacak yöntem. |
20 | boolean canDeserialize(JavaType type) - Eşleştiricinin verilen türde bir Nesnenin serisini kaldırabileceğini düşünüp düşünmediğini kontrol etmek için çağrılabilen yöntem. |
21 | boolean canDeserialize(JavaType type, AtomicReference<Throwable> cause) - canDeserialize (JavaType) 'a benzer bir yöntem, ancak bu, serileştirici oluşturmaya çalışırken atılan gerçek Throwable'ı döndürebilir: bu, asıl sorunun ne olduğunu bulmada yararlı olabilir. |
22 | boolean canSerialize(Class<?> type) - Eşleyicinin belirli bir Sınıfın bir örneğini serileştirebileceğini düşünüp düşünmediğini kontrol etmek için çağrılabilen yöntem. |
23 | boolean canSerialize(Class<?> type, AtomicReference<Throwable> cause) - canSerialize (Class) 'a benzer bir yöntem, ancak bu, serileştirici oluşturmaya çalışırken atılan gerçek Throwable'ı döndürebilir: Bu, asıl sorunun ne olduğunu anlamada yararlı olabilir. |
24 | ObjectMapper clearProblemHandlers() - Tüm kayıtlı DeserializationProblemHandlers örneklerini bu eşleyiciden kaldırma yöntemi. |
25 | MutableConfigOverride configOverride(Classlt;?> type) - Verilen türdeki özelliklere uygulanan tür başına geçersiz kılmaları eklemek veya değiştirmek için gereken, belirli tür için değiştirilebilir bir yapılandırma geçersiz kılma nesnesi almak için erişimci. |
26 | ObjectMapper configure(DeserializationFeature f, boolean state) - Bu nesne eşleştiricisi için bir açık / kapalı seriyi kaldırma özelliğinin durumunu değiştirme yöntemi. |
27 | ObjectMapper configure(JsonGenerator.Feature f, boolean state) - Bu nesne eşleyicisinin oluşturduğu jeneratör örnekleri için bir açık / kapalı JsonGenerator özelliğinin durumunu değiştirme yöntemi. |
28 | ObjectMapper configure(JsonParser.Feature f, boolean state) - Bu nesne eşleyicisinin oluşturduğu ayrıştırıcı örnekleri için belirtilen JsonParser.Features durumunu değiştirme yöntemi. |
29 | ObjectMapper configure(MapperFeature f, boolean state) - Bu eşleyici örneği için bir açık / kapalı eşleyici özelliğinin durumunu değiştirme yöntemi. |
30 | ObjectMapper configure(SerializationFeature f, boolean state) - Bu nesne eşleştiricisi için bir açık / kapalı serileştirme özelliğinin durumunu değiştirme yöntemi. |
31 | JavaType constructType(Type t) - JavaType'ı belirli türden (tipik olarak java.lang.Class), ancak açık bağlam olmadan oluşturmak için uygun yöntem. |
32 | <T> T convertValue(Object fromValue, Class<T> toValueType) - Dönüştürme gerekliyse (ancak sadece!) Gerekliyse, belirli bir değerden belirli bir değer türünün örneğine iki adımlı dönüştürme yapmak için uygun yöntem. |
33 | <T> T convertValue(Object fromValue, JavaType toValueType) - convertValue (Nesne, Sınıf) bakın |
34 | <T> T convertValue(Object fromValue, TypeReference<?> toValueTypeRef) - convertValue (Nesne, Sınıf) bakın |
35 | ObjectMapper copy() - Bu örnekle aynı başlangıç yapılandırmasına sahip yeni bir ObjectMapper örneği oluşturma yöntemi. |
36 | ArrayNode createArrayNode() - Not: Temel ObjectCodec soyutlaması somut düğüm türlerine atıfta bulunamayacağı için dönüş türü eş değişkendir (impls, eşleme paketinin bir parçası iken impls, çekirdek paketin bir parçasıdır) |
37 | ObjectNode createObjectNode() - Not: Temel ObjectCodec soyutlaması somut düğüm türlerine atıfta bulunamayacağı için dönüş türü eş değişkendir (impls, eşleme paketinin bir parçası iken impls, çekirdek paketin bir parçasıdır) |
38 | protected ClassIntrospector defaultClassIntrospector() - Kullanılacak varsayılan ClassIntrospector'ı oluşturmak için kullanılan geçersiz kılınabilir yardımcı yöntem. |
39 | ObjectMapper disable(DeserializationFeature feature) - Belirtilen DeserializationConfig özelliklerini etkinleştirme yöntemi. |
40 | ObjectMapper disable(DeserializationFeature first, DeserializationFeature... f) - Belirtilen DeserializationConfig özelliklerini etkinleştirme yöntemi. |
41 | ObjectMapper disable(JsonGenerator.Feature... features) - Bu nesne eşleyicisinin oluşturduğu ayrıştırıcı örnekleri için belirtilen JsonGenerator.Features özelliğini devre dışı bırakma yöntemi. |
42 | ObjectMapper disable(JsonParser.Feature... features) - Bu nesne eşleyicisinin oluşturduğu ayrıştırıcı örnekleri için belirtilen JsonParser.Features özelliğini devre dışı bırakma yöntemi. |
43 | ObjectMapper disable(MapperFeature... f) - Belirtilen DeserializationConfig özelliklerini etkinleştirme yöntemi. |
44 | ObjectMapper disable(SerializationFeature f) - Belirtilen DeserializationConfig özelliklerini etkinleştirme yöntemi. |
45 | ObjectMapper disable(SerializationFeature first, SerializationFeature... f) - Belirtilen DeserializationConfig özelliklerini etkinleştirme yöntemi. |
46 | ObjectMapper disableDefaultTyping()- Tip bilgilerinin otomatik olarak dahil edilmesini devre dışı bırakma yöntemi; eğer öyleyse, yalnızca açıkça açıklamalı türler (JsonTypeInfo içerenler) ek gömülü tür bilgilerine sahip olacaktır. |
47 | ObjectMapper enable(DeserializationFeature feature) - Belirtilen DeserializationConfig özelliklerini etkinleştirme yöntemi. |
48 | ObjectMapper enable(DeserializationFeature first, DeserializationFeature... f) - Belirtilen DeserializationConfig özelliklerini etkinleştirme yöntemi. |
49 | ObjectMapper enable(JsonGenerator.Feature... features) - Bu nesne eşleyicisinin oluşturduğu ayrıştırıcı örnekleri için belirtilen JsonGenerator.Features özelliğini etkinleştirme yöntemi. |
50 | ObjectMapper enable(JsonParser.Feature... features) - Bu nesne eşleyicisinin oluşturduğu ayrıştırıcı örnekleri için belirtilen JsonParser.Features özelliğini etkinleştirme yöntemi. |
51 | ObjectMapper enable(MapperFeature... f) - Belirtilen MapperConfig özelliklerini etkinleştirme yöntemi. |
52 | ObjectMapper enable(SerializationFeature f) - Belirtilen DeserializationConfig özelliğini etkinleştirme yöntemi. |
53 | ObjectMapper enable(SerializationFeature first, SerializationFeature... f) - Belirtilen DeserializationConfig özelliklerini etkinleştirme yöntemi. |
54 | ObjectMapper enableDefaultTyping() - Aramaya eşdeğer kolaylık yöntemi |
55 | ObjectMapper enableDefaultTyping(ObjectMapper.DefaultTyping dti) - Aramaya eşdeğer kolaylık yöntemi |
56 | ObjectMapper enableDefaultTyping(ObjectMapper.DefaultTyping applicability, JsonTypeInfo.As includeAs) - Polimorfik türlerin uygun şekilde serileştirilmesi için gerekli olan tür bilgilerinin otomatik dahil edilmesini etkinleştirme yöntemi (türler JsonTypeInfo ile açıklanmadıkça). |
57 | ObjectMapper enableDefaultTypingAsProperty(ObjectMapper.DefaultTyping applicability, String propertyName) - Tür bilgisinin otomatik dahil edilmesini etkinleştirme yöntemi - polimorfik türlerin uygun şekilde serileştirilmesi için gerekli (türler JsonTypeInfo ile açıklanmadıkça) - "As.PROPERTY" dahil etme mekanizmasını ve dahil etme için kullanılacak belirtilen özellik adını kullanarak (varsayılan "@") class "çünkü varsayılan tür bilgisi her zaman tür tanımlayıcısı olarak sınıf adını kullanır) |
58 | ObjectMapper findAndRegisterModules() - İşlevsel olarak eşdeğer olan uygunluk yöntemi: mapper.registerModules (mapper.findModules ()); |
59 | Class<?> findMixInClassFor(Class<?> cls) |
60 | static List<Module> findModules() - Modül tarafından sağlanan SPI ile birlikte JDK ServiceLoader özelliğini kullanarak mevcut yöntemleri bulma yöntemi. |
61 | static List<Module> findModules(ClassLoader classLoader) - Modül tarafından sağlanan SPI ile birlikte JDK ServiceLoader özelliğini kullanarak mevcut yöntemleri bulma yöntemi. |
62 | DateFormat getDateFormat() |
63 | DeserializationConfig getDeserializationConfig() - Seri durumdan çıkarma için yapılandırma ayarlarını tanımlayan, paylaşılan varsayılan DeserializationConfig nesnesini döndüren yöntem. |
64 | DeserializationContext getDeserializationContext() - Geçerli DeserializationContext alma yöntemi. |
65 | JsonFactory getFactory() - JsonParsers ve / veya JsonGenerator'lar oluşturması gerektiğinde bu eşleyicinin kullandığı JsonFactory'yi elde etmek için kullanılabilecek yöntem. |
66 | InjectableValues getInjectableValues() |
67 | JsonFactory getJsonFactory()- Kullanımdan kaldırıldı. 2.1'den beri: Bunun yerine getFactory () kullanın |
68 | JsonNodeFactory getNodeFactory() - Bu eşleyicinin Ağaçlar için doğrudan kök JsonNode örnekleri oluştururken kullanacağı JsonNodeFactory'yi elde etmek için kullanılabilen yöntem. |
69 | PropertyNamingStrategy getPropertyNamingStrategy() |
70 | SerializationConfig getSerializationConfig() - Serileştirme için yapılandırma ayarlarını tanımlayan, paylaşılan varsayılan SerializationConfig nesnesini döndüren yöntem. |
71 | SerializerFactory getSerializerFactory() - Mevcut SerializerFactory'yi alma yöntemi. |
72 | SerializerProvider getSerializerProvider() - Örneklerin DefaultSerializerProvider.createInstance (com.fasterxml.jackson.databind.SerializationConfig, com.fasterxml.jackson.databind.ser.SerializerFactory) çağrılmasıyla oluşturulduğu "plan" (veya fabrika) örneği için erişimci. |
73 | SerializerProvider getSerializerProviderInstance() - Serileştiricilere erişmek için kullanılabilecek bir SerializerProvider örneği oluşturmak ve döndürmek için erişimci. |
74 | SubtypeResolver getSubtypeResolver() - Kullanımda olan alt tip çözümleyiciye erişim yöntemi. |
75 | TypeFactory getTypeFactory() - Mevcut yapılandırılmış TypeFactory örneğini almak için erişimci. |
76 | VisibilityChecker<?> getVisibilityChecker()- Mevcut yapılandırılmış görünürlük denetleyicisine erişim yöntemi; belirli özellik öğesinin (yöntem, alan, yapıcı) otomatik olarak algılanıp algılanmayacağını belirlemek için kullanılan nesne. |
77 | boolean isEnabled(DeserializationFeature f) - Verilen serileştirmeye özgü özelliğin etkinleştirilip etkinleştirilmediğini kontrol etme yöntemi. |
78 | boolean isEnabled(JsonFactory.Feature f) - Uygunluk yöntemi: |
79 | boolean isEnabled(JsonGenerator.Feature f) |
80 | boolean isEnabled(JsonParser.Feature f) |
81 | boolean isEnabled(MapperFeature f) - Verilen MapperFeature özelliğinin etkinleştirilip etkinleştirilmediğini kontrol etme yöntemi. |
82 | boolean isEnabled(SerializationFeature f) - Verilen serileştirmeye özgü özelliğin etkinleştirilip etkinleştirilmediğini kontrol etme yöntemi. |
83 | int mixInCount() |
84 | ObjectReader reader() - Varsayılan ayarlarla ObjectReader oluşturmak için fabrika yöntemi. |
85 | ObjectReader reader(Base64Variant defaultBase64) - Base64 ile kodlanmış ikili veriler için belirtilen Base64 kodlama varyantını kullanacak ObjectReader oluşturmak için fabrika yöntemi. |
86 | ObjectReader reader(Class<?> type)- Kullanımdan kaldırıldı. 2.5'ten beri, bunun yerine readerFor (Class) kullanın |
87 | ObjectReader reader(ContextAttributes attrs) - Belirtilen varsayılan öznitelikleri kullanacak ObjectReader oluşturmak için fabrika yöntemi. |
88 | ObjectReader reader(DeserializationFeature feature) - Belirtilen özellik etkinken ObjectReader oluşturmak için fabrika yöntemi (bu eşleyici örneğinin sahip olduğu ayarlarla karşılaştırıldığında). |
89 | ObjectReader reader(DeserializationFeature first, DeserializationFeature... other) - Belirtilen özelliklerin etkin olduğu ObjectReader oluşturmak için fabrika yöntemi (bu eşleyici örneğinin sahip olduğu ayarlarla karşılaştırıldığında). |
90 | ObjectReader reader(FormatSchema schema) - İçeriği okumak için kullanılan JsonParser'a belirli bir şema nesnesini iletecek ObjectReader oluşturmak için fabrika yöntemi. |
91 | ObjectReader reader(InjectableValues injectableValues) - Belirtilen enjekte edilebilir değerleri kullanacak ObjectReader oluşturmak için fabrika yöntemi. |
92 | ObjectReader reader(JavaType type)- Kullanımdan kaldırıldı. 2.5'ten beri, bunun yerine readerFor (JavaType) kullanın |
93 | ObjectReader reader(JsonNodeFactory f) - JSON ağaçları oluşturmak için belirtilen JsonNodeFactory'yi kullanacak ObjectReader oluşturmak için fabrika yöntemi. |
94 | ObjectReader reader(TypeReference<?> type)- Kullanımdan kaldırıldı. 2.5'ten beri, bunun yerine readerFor (TypeReference) kullanın |
95 | ObjectReader readerFor(Class<?> type) - Belirtilen türdeki örnekleri okuyan veya güncelleyen ObjectReader oluşturmak için fabrika yöntemi |
96 | ObjectReader readerFor(JavaType type) - Belirtilen türdeki örnekleri okuyan veya güncelleyen ObjectReader oluşturmak için fabrika yöntemi |
97 | ObjectReader readerFor(TypeReference<?> type) - Belirtilen türdeki örnekleri okuyan veya güncelleyen ObjectReader oluşturmak için fabrika yöntemi |
98 | ObjectReader readerForUpdating(Object valueToUpdate) - Verilen Nesneyi (genellikle Bean, ancak bir Koleksiyon veya Harita da olabilir, ancak bir dizi DEĞİL) JSON verileriyle güncelleyecek ObjectReader oluşturmak için fabrika yöntemi. |
99 | ObjectReader readerWithView(Class<?> view) - Belirtilen JSON Görünümünü (filtre) kullanarak nesnelerin serisini kaldıracak ObjectReader oluşturmak için fabrika yöntemi. |
100 | JsonNode readTree(byte[] content) - JSON içeriğini, JsonNode örnekleri kümesi kullanılarak ifade edilen ağaç olarak seriyi kaldırma yöntemi. |
101 | JsonNode readTree(File file) - JSON içeriğini, JsonNode örnekleri kümesi kullanılarak ifade edilen ağaç olarak seriyi kaldırma yöntemi. |
102 | JsonNode readTree(InputStream in) - JSON içeriğini, JsonNode örnekleri kümesi kullanılarak ifade edilen ağaç olarak seriyi kaldırma yöntemi. |
103 | <T extends TreeNode> T readTree(JsonParser p) - JSON içeriğini, JsonNode örnekleri kümesi kullanılarak ifade edilen ağaç olarak seriyi kaldırma yöntemi. |
104 | JsonNode readTree(Reader r) - JSON içeriğini, JsonNode örnekleri kümesi kullanılarak ifade edilen ağaç olarak seriyi kaldırma yöntemi. |
105 | JsonNode readTree(String content) - JSON içeriğini, JsonNode örnekleri kümesi kullanılarak ifade edilen ağaç olarak seriyi kaldırma yöntemi. |
106 | JsonNode readTree(URL source) - JSON içeriğini, JsonNode örnekleri kümesi kullanılarak ifade edilen ağaç olarak seriyi kaldırma yöntemi. |
107 | <T> T readValue(byte[] src, Class<T> valueType) |
108 | <T> T readValue(byte[] src, int offset, int len, Class<T> valueType) |
109 | <T> T readValue(byte[] src, int offset, int len, JavaType valueType) |
110 | <T> T readValue(byte[] src, int offset, int len, TypeReference valueTypeRef) |
111 | <T> T readValue(byte[] src, JavaType valueType) |
112 | <T> T readValue(byte[] src, TypeReference valueTypeRef) |
113 | <T> T readValue(DataInput src, Class<T> valueType) |
114 | <T> T readValue(DataInput src, JavaType valueType) |
115 | <T> T readValue(File src, Class<T> valueType) - Verilen dosyadaki JSON içeriğini verilen Java türüne serileştirme yöntemi. |
116 | <T> T readValue(File src, JavaType valueType) - Verilen dosyadaki JSON içeriğini verilen Java türüne serileştirme yöntemi. |
117 | <T> T readValue(File src, TypeReference valueTypeRef) - Verilen dosyadaki JSON içeriğini verilen Java türüne serileştirme yöntemi. |
118 | <T> T readValue(InputStream src, Class<T> valueType) |
119 | <T> T readValue(InputStream src, JavaType valueType) |
120 | <T> T readValue(InputStream src, TypeReference valueTypeRef) |
121 | <T> T readValue(JsonParser p, Class<T> valueType) - Method to deserialize JSON content into a non-container type (it can be an array type, however): typically a bean, array or a wrapper type (like Boolean). |
122 | <T> T readValue(JsonParser p, JavaType valueType) - Tür açısından güvenli aşırı yüklenmiş yöntem, temelde readValue (JsonParser, Class) için takma addır. |
123 | <T> T readValue(JsonParser p, ResolvedType valueType) - JSON içeriğini bir Java türüne serileştirme yöntemi, başvurunun bağımsız değişken olarak iletildiği yöntem. |
124 | <T> T readValue(JsonParser p, TypeReference<?> valueTypeRef) - JSON içeriğini bir Java türüne serileştirme yöntemi, başvurunun bağımsız değişken olarak iletildiği yöntem. |
125 | <T> T readValue(Reader src, Class<T> valueType) - |
1 | <T> T readValue(Reader src, JavaType valueType) |
126 | <T> T readValue(Reader src, TypeReference valueTypeRef) |
127 | <T> T readValue(String content, Class<T> valueType) - Verilen JSON içerik Dizesinden JSON içeriğini seri durumdan çıkarma yöntemi. |
128 | <T> T readValue(String content, JavaType valueType) - Verilen JSON içerik Dizesinden JSON içeriğini seri durumdan çıkarma yöntemi. |
129 | <T> T readValue(String content, TypeReference valueTypeRef) - Verilen JSON içerik Dizesinden JSON içeriğini seri durumdan çıkarma yöntemi. |
130 | <T> T readValue(URL src, Class<T> valueType) - Verilen kaynaktan verilen JSON içeriğini belirli Java türüne doğru serileştirme yöntemi. |
131 | <T> T readValue(URL src, JavaType valueType) |
132 | <T> T readValue(URL src, TypeReference valueTypeRef) - Verilen kaynaktan verilen JSON içeriğini belirli Java türüne doğru serileştirme yöntemi. |
133 | <T> MappingIterator<T> readValues(JsonParser p, Class<T> valueType) - Kullanışlılık yöntemi, işlev olarak aşağıdakilere eşdeğerdir: |
134 | <T> MappingIterator<T> readValues(JsonParser p, JavaType valueType) - Kullanışlılık yöntemi, işlev olarak aşağıdakilere eşdeğerdir: |
135 | <T> MappingIterator<T> readValues(JsonParser p, ResolvedType valueType) - Kullanışlılık yöntemi, işlev olarak aşağıdakilere eşdeğerdir: |
136 | <T> MappingIterator<T> readValues(JsonParser p, TypeReference<?>valueTypeRef) - Ayrıştırıcı akışından Nesnelerin sırasını okuma yöntemi. |
137 | ObjectMapper registerModule(Module module)- Bu eşleştirici tarafından sağlanan işlevselliği artırabilen bir modülü kaydetme yöntemi; örneğin, özel serileştiriciler ve seri kaldırıcılar için sağlayıcılar ekleyerek. |
138 | ObjectMapper registerModules(Iterable<Module> modules)- Belirtilen modülleri sırayla kaydetmek için uygun yöntem; işlevsel olarak eşdeğer: |
139 | ObjectMapper registerModules(Module... modules)- Belirtilen modülleri sırayla kaydetmek için uygun yöntem; işlevsel olarak eşdeğer: |
140 | void registerSubtypes(NamedType... types) - Belirtilen sınıfı bir alt tür olarak kaydetme yöntemi, böylece tür adına dayalı çözümleme, üst türleri alt türlere bağlayabilir (ek açıklamaları kullanmaya alternatif olarak). |
141 | ObjectMapper setAnnotationIntrospector(AnnotationIntrospector ai) - Hem serileştirme hem de seriyi kaldırma için bu eşleyici örneği tarafından kullanılan AnnotationIntrospector'ı ayarlama yöntemi. |
142 | ObjectMapper setAnnotationIntrospectors(AnnotationIntrospector serializerAI, AnnotationIntrospector deserializerAI) - Bu eşleyici örneği tarafından serileştirme ve seriyi kaldırma için kullanılan AnnotationIntrospector örneklerini değiştirme yöntemi, bunları ayrı ayrı belirterek farklı yönler için farklı iç gözlem kullanılabilsin. |
143 | ObjectMapper setBase64Variant(Base64Variant v) - Bayt [] serileştiricilerin ve seriyi kaldırıcıların kullanacağı varsayılan Base64Variant'ı yapılandıracak yöntem. |
144 | ObjectMapper setConfig(DeserializationConfig config) - Temeldeki DeserializationConfig nesnesinin geçersiz kılınmasına izin veren yöntem. |
145 | ObjectMapper setConfig(SerializationConfig config) - Serileştirmeye özgü yapılandırma ayarlarını içeren temel SerializationConfig nesnesinin geçersiz kılınmasına izin veren yöntem. |
146 | ObjectMapper setDateFormat(DateFormat dateFormat) - Zaman değerlerini Strings olarak serileştirirken ve JSON Strings'den seriyi kaldırırken kullanılacak varsayılan DateFormat'ı yapılandırma yöntemi. |
147 | ObjectMapper setDefaultPrettyPrinter(PrettyPrinter pp) - "Varsayılan güzel yazdırma" etkinleştirildiğinde kullanılacak PrettyPrinter'ı belirleme yöntemi (SerializationFeature.INDENT_OUTPUT etkinleştirilerek) |
148 | ObjectMapper setDefaultTyping(TypeResolverBuilder<?> typer) - Hangi türleri etkilediğini belirlemek için belirtilen işleyici nesnesini kullanarak tür bilgilerinin otomatik olarak dahil edilmesini sağlama yöntemi ve bilgilerin nasıl gömülü olduğuna ilişkin ayrıntılar. |
149 | ObjectMapper setFilterProvider(FilterProvider filterProvider) - Bu eşleyiciyi, Filtre Kimliklerini gerçek filtre örnekleriyle eşlemek için belirtilen FilterProvider'ı kullanacak şekilde yapılandırma yöntemi. |
150 | Object setHandlerInstantiator(HandlerInstantiator hi) - HandlerInstantiator'ı, bir sınıf verilen işleyici örneklerini (serileştiriciler, seriyi kaldırıcılar, tür ve tür kimliği çözücüler gibi) oluşturmak için kullanmak üzere yapılandırma yöntemi. |
151 | ObjectMapper setInjectableValues(InjectableValues injectableValues) - Enjekte edilecek değerleri bulmak için kullanılan InjectableValues yapılandırma yöntemi. |
152 | ObjectMapper setLocale(Locale l) - Biçimlendirme için kullanılacak varsayılan yerel ayarı geçersiz kılma yöntemi. |
153 | void setMixInAnnotations(Map<Class<?>,Class<?>> sourceMixins)- Kullanımdan kaldırıldı. 2.5'ten beri: yöntemin akıcı bir formu ile değiştirildi; setMixIns (java.util.Map <java.lang.Class <?>, java.lang.Class <? >>). |
154 | ObjectMapper setMixInResolver(ClassIntrospector.MixInResolver resolver) - Doğrudan eklenen eşlemeleri geçersiz kılarak, kullanılacak karma sınıfları bulmak için belirli bir çözümleyiciyi belirtmek için çağrılabilen yöntem. |
155 | ObjectMapper setMixIns(Map<Class<?>,Class<?>> sourceMixins) - İşlenebilir (serileştirilebilir / serileştirilebilir) sınıfların sahip olduğu ek açıklamaları genişletmek için kullanılacak karışık ek açıklamaları tanımlamak için kullanılacak yöntem. |
156 | ObjectMapper setNodeFactory(JsonNodeFactory f) - Kök seviyesinde ağaç düğümleri oluşturmak için kullanılacak JsonNodeFactory'yi belirleme yöntemi (createObjectNode () yöntemi aracılığıyla |
157 | ObjectMapper setPropertyInclusion(JsonInclude.Value incl) - Serileştirme için varsayılan POJO özellik dahil etme stratejisini ayarlama yöntemi. |
158 | ObjectMapper setPropertyNamingStrategy(PropertyNamingStrategy s) - Kullanılacak özel mülk adlandırma stratejisini ayarlama yöntemi. |
159 | ObjectMapper setSerializationInclusion(JsonInclude.Include incl) - Aramaya eşdeğer kolaylık yöntemi: |
160 | ObjectMapper setSerializerFactory(SerializerFactory f) - (fasulye) serileştiricileri oluşturmak için kullanmak üzere belirli SerializerFactory'yi ayarlama yöntemi. |
161 | ObjectMapper setSerializerProvider(DefaultSerializerProvider p) - JsonSerializer örneklerinin önbelleğe alınmasını işlemek için kullanmak üzere gerçek sağlayıcı örnekleri için temel olarak kullanmak üzere "blueprint" SerializerProvider örneğini ayarlama yöntemi. |
162 | ObjectMapper setSubtypeResolver(SubtypeResolver str) - Kullanılacak özel alt tür çözümleyiciyi ayarlama yöntemi. |
163 | ObjectMapper setTimeZone(TimeZone tz) - Biçimlendirme için kullanılacak varsayılan TimeZone'u geçersiz kılma yöntemi. |
164 | ObjectMapper setTypeFactory(TypeFactory f) - Bu eşleştirici tarafından kullanılan TypeFactory örneğini geçersiz kılmak için kullanılabilecek yöntem. |
165 | ObjectMapper setVisibility(PropertyAccessor forMethod, JsonAutoDetect.Visibility visibility) - Hangi tür özelliklerin otomatik olarak algılandığının ayrıntılarını değiştirmek için temeldeki VisibilityCheckers için yapılandırmanın değiştirilmesine izin veren kolaylık yöntemi. |
166 | ObjectMapper setVisibility(VisibilityChecker<?> vc) - Mevcut yapılandırılmış VisibilityChecker'ı ayarlama yöntemi, belirli bir özellik öğesinin (yöntem, alan, yapıcı) otomatik olarak algılanıp algılanmayacağını belirlemek için kullanılan nesne. |
167 | void setVisibilityChecker(VisibilityChecker<?> vc)- Kullanımdan kaldırıldı. 2.6'dan beri bunun yerine setVisibility (VisibilityChecker) kullanın. |
168 | JsonParser treeAsTokens(TreeNode n) - JSON ağaç temsilinden bir JsonParser oluşturma yöntemi. |
169 | <T> T treeToValue(TreeNode n, Class<T> valueType) - JSON ağacının içerdiği verileri belirli bir değer (genellikle fasulye) türüne bağlayacak uygunluk dönüştürme yöntemi. |
170 | <T extends JsonNode> T valueToTree(Object fromValue)- treeToValue'nun tersi (com.fasterxml.jackson.core.TreeNode, java.lang.Class <T>); bir değer verildiğinde (genellikle fasulye), eşdeğer JSON Ağacı temsilini oluşturacaktır. |
171 | Version version() - Bu sınıfı içeren jar dosyasında saklanan ve okunan sürüm bilgilerini döndüren yöntem. |
172 | ObjectWriter writer() - Varsayılan ayarlarla ObjectWriter oluşturmak için uygun yöntem. |
173 | ObjectWriter writer(Base64Variant defaultBase64) - Base64 ile kodlanmış ikili veriler için belirtilen Base64 kodlama varyantını kullanacak ObjectWriter oluşturmak için fabrika yöntemi. |
174 | ObjectWriter writer(CharacterEscapes escapes) - |
175 | ObjectWriter writer(ContextAttributes attrs) - Belirtilen varsayılan öznitelikleri kullanacak ObjectWriter oluşturmak için fabrika yöntemi. |
176 | ObjectWriter writer(DateFormat df)- Belirtilen DateFormat kullanarak nesneleri serileştirecek ObjectWriter oluşturmak için fabrika yöntemi; veya boş geçildiyse, zaman damgası (64 bitlik sayı. |
177 | ObjectWriter writer(FilterProvider filterProvider) - Belirtilen filtre sağlayıcısını kullanarak nesneleri serileştirecek ObjectWriter oluşturmak için fabrika yöntemi. |
178 | ObjectWriter writer(FormatSchema schema) - İçerik yazmak için kullanılan JsonGenerator'a belirli şema nesnesini iletecek ObjectWriter oluşturmak için fabrika yöntemi. |
179 | ObjectWriter writer(PrettyPrinter pp) - Girinti için belirtilen güzel yazıcıyı kullanarak nesneleri serileştirecek ObjectWriter oluşturmak için fabrika yöntemi (veya boşsa, güzel yazıcı yok) |
180 | ObjectWriter writer(SerializationFeature feature) - Belirtilen özellik etkinken ObjectWriter oluşturmak için fabrika yöntemi (bu eşleyici örneğinin sahip olduğu ayarlarla karşılaştırıldığında). |
181 | ObjectWriter writer(SerializationFeature first, SerializationFeature... other) - Belirtilen özellikler etkinken ObjectWriter oluşturmak için fabrika yöntemi (bu eşleyici örneğinin sahip olduğu ayarlarla karşılaştırıldığında). |
182 | ObjectWriter writerFor(Class<?> rootType) - Nesneleri gerçek çalışma zamanı türü değer yerine belirtilen kök türünü kullanarak serileştirecek ObjectWriter oluşturmak için fabrika yöntemi. |
183 | ObjectWriter writerFor(JavaType rootType) - Nesneleri gerçek çalışma zamanı türü değer yerine belirtilen kök türünü kullanarak serileştirecek ObjectWriter oluşturmak için fabrika yöntemi. |
184 | ObjectWriter writerFor(TypeReference<?> rootType) - Nesneleri gerçek çalışma zamanı türü değer yerine belirtilen kök türünü kullanarak serileştirecek ObjectWriter oluşturmak için fabrika yöntemi. |
185 | ObjectWriter writerWithDefaultPrettyPrinter() - Girinti için varsayılan güzel yazıcıyı kullanarak nesneleri serileştirecek ObjectWriter oluşturmak için fabrika yöntemi. |
186 | ObjectWriter writerWithType(Class<?> rootType)- Kullanımdan kaldırıldı. 2.5'ten beri, bunun yerine writerFor (Class) kullanın. |
187 | ObjectWriter writerWithType(JavaType rootType)- Kullanımdan kaldırıldı. 2.5'ten beri, bunun yerine writerFor (JavaType) kullanın. |
188 | ObjectWriter writerWithType(TypeReference<?> rootType)- Kullanımdan kaldırıldı. 2.5'ten beri, bunun yerine writerFor (TypeReference) kullanın. |
189 | ObjectWriter writerWithView(Class<?> serializationView) - Belirtilen JSON Görünümünü (filtre) kullanarak nesneleri serileştirecek ObjectWriter oluşturmak için fabrika yöntemi. |
190 | void writeTree(JsonGenerator jgen, JsonNode rootNode) - Verilen JSON Ağacı'nı, sağlanan oluşturucuyu kullanarak serileştirme yöntemi. |
191 | void writeTree(JsonGenerator jgen, TreeNode rootNode) |
192 | void writeValue(DataOutput out, Object value) |
193 | void writeValue(File resultFile, Object value) - Sağlanan Dosyaya yazılan herhangi bir Java değerini JSON çıktısı olarak serileştirmek için kullanılabilen yöntem. |
194 | void writeValue(JsonGenerator g, Object value) - Sağlanan JsonGenerator kullanılarak herhangi bir Java değerini JSON çıktısı olarak serileştirmek için kullanılabilen yöntem. |
195 | void writeValue(OutputStream out, Object value) - Sağlanan çıktı akışını kullanarak (JsonEncoding.UTF8 kodlamasını kullanarak) herhangi bir Java değerini JSON çıktısı olarak serileştirmek için kullanılabilen yöntem. |
196 | void writeValue(Writer w, Object value) - Sağlanan Writer'ı kullanarak herhangi bir Java değerini JSON çıktısı olarak serileştirmek için kullanılabilen yöntem. |
197 | byte[] writeValueAsBytes(Object value) - Herhangi bir Java değerini bayt dizisi olarak serileştirmek için kullanılabilen yöntem. |
198 | String writeValueAsString(Object value) - Herhangi bir Java değerini String olarak serileştirmek için kullanılabilen yöntem. |
Miras alınan yöntemler
Bu sınıf, yöntemleri aşağıdaki sınıflardan miras alır:
java.lang.Object
ObjectMapper Örneği
Seçtiğiniz herhangi bir düzenleyiciyi kullanarak aşağıdaki java programını oluşturun C:/> Jackson_WORKSPACE
Dosya: JacksonTester.java
import java.io.IOException;
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
public class JacksonTester {
public static void main(String args[]){
ObjectMapper mapper = new ObjectMapper();
String jsonString = "{\"name\":\"Mahesh\", \"age\":21}";
//map json to student
try{
Student student = mapper.readValue(jsonString, Student.class);
System.out.println(student);
jsonString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(student);
System.out.println(jsonString);
}
catch (JsonParseException e) { e.printStackTrace();}
catch (JsonMappingException e) { e.printStackTrace(); }
catch (IOException e) { e.printStackTrace(); }
}
}
class Student {
private String name;
private int age;
public Student(){}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String toString(){
return "Student [ name: "+name+", age: "+ age+ " ]";
}
}
Verify the result
Kullanarak sınıfları derleyin javac aşağıdaki gibi derleyici:
C:\Jackson_WORKSPACE>javac JacksonTester.java
Şimdi sonucu görmek için jacksonTester'ı çalıştırın:
C:\Jackson_WORKSPACE>java JacksonTester
Çıkışı Doğrulayın
Student [ name: Mahesh, age: 21 ]
{
"name" : "Mahesh",
"age" : 21
}
Nesne Serileştirme
java nesnesini bir json dosyasına serileştirelim ve sonra nesneyi geri almak için o json dosyasını okuyalım. Bu örnekte Öğrenci sınıfı oluşturduk. Student nesnesinin json temsiline sahip bir student.json dosyası oluşturacağız.
JacksonTester adlı bir java sınıf dosyası oluşturun. C:\>Jackson_WORKSPACE.
Dosya: JacksonTester.java
import java.io.File;
import java.io.IOException;
import com.fasterxml.jackson.core.JsonGenerationException;
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
public class JacksonTester {
public static void main(String args[]){
JacksonTester tester = new JacksonTester();
try {
Student student = new Student();
student.setAge(10);
student.setName("Mahesh");
tester.writeJSON(student);
Student student1 = tester.readJSON();
System.out.println(student1);
} catch (JsonParseException e) {
e.printStackTrace();
} catch (JsonMappingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
private void writeJSON(Student student) throws JsonGenerationException, JsonMappingException, IOException{
ObjectMapper mapper = new ObjectMapper();
mapper.writeValue(new File("student.json"), student);
}
private Student readJSON() throws JsonParseException, JsonMappingException, IOException{
ObjectMapper mapper = new ObjectMapper();
Student student = mapper.readValue(new File("student.json"), Student.class);
return student;
}
}
class Student {
private String name;
private int age;
public Student(){}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String toString(){
return "Student [ name: "+name+", age: "+ age+ " ]";
}
}
Verify the result
Kullanarak sınıfları derleyin javac aşağıdaki gibi derleyici:
C:\Jackson_WORKSPACE>javac JacksonTester.java
Şimdi sonucu görmek için jacksonTester'ı çalıştırın:
C:\Jackson_WORKSPACE>java JacksonTester
Çıkışı Doğrulayın
Student [ name: Mahesh, age: 10 ]
Bağlanma verileri
Veri Bağlama API'si, özellik erişimcisini veya ek açıklamaları kullanarak JSON'u POJO'ya (Düz Eski Java Nesnesi) dönüştürmek için kullanılır. İki tiptir.
Simple Data Binding - JSON'u Java Haritaları, Listeler, Dizeler, Sayılar, Booleanlar ve boş nesnelere ve bunlardan dönüştürür.
Full Data Binding - JSON'u herhangi bir JAVA türüne ve türünden dönüştürür.
ObjectMapper, her iki veri bağlama türü için JSON okur / yazar. Veri Bağlama en uygun yoldur ve XML için JAXB ayrıştırıcısına benzer.
Basit Veri Bağlama
Basit veri bağlama, JSON'un JAVA Core veri türlerine eşlenmesini ifade eder. Aşağıdaki tablo JSON türleri ile Java Türleri arasındaki ilişkiyi göstermektedir.
Sr. No. | JSON Türü | Java Türü |
---|---|---|
1 | nesne | LinkedHashMap <Dize, Nesne> |
2 | dizi | ArrayList <Nesne> |
3 | dizi | Dize |
4 | tam sayı | Tamsayı, Uzun veya BigInteger |
5 | kesirli sayı | Çift / Büyük Ondalık |
6 | doğru | yanlış | Boole |
7 | boş | boş |
Basit veri bağlamanın işleyişini görelim. Burada JAVA temel türlerini doğrudan JSON ile eşleyeceğiz ve bunun tersini de yapacağız.
JacksonTester adlı bir java sınıf dosyası oluşturun. C:\>Jackson_WORKSPACE.
Dosya: JacksonTester.java
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
public class JacksonTester {
public static void main(String args[]){
JacksonTester tester = new JacksonTester();
try {
ObjectMapper mapper = new ObjectMapper();
Map<String,Object> studentDataMap = new HashMap<String,Object>();
int[] marks = {1,2,3};
Student student = new Student();
student.setAge(10);
student.setName("Mahesh");
// JAVA Object
studentDataMap.put("student", student);
// JAVA String
studentDataMap.put("name", "Mahesh Kumar");
// JAVA Boolean
studentDataMap.put("verified", Boolean.FALSE);
// Array
studentDataMap.put("marks", marks);
mapper.writeValue(new File("student.json"), studentDataMap);
//result student.json
//{
// "student":{"name":"Mahesh","age":10},
// "marks":[1,2,3],
// "verified":false,
// "name":"Mahesh Kumar"
//}
studentDataMap = mapper.readValue(new File("student.json"), Map.class);
System.out.println(studentDataMap.get("student"));
System.out.println(studentDataMap.get("name"));
System.out.println(studentDataMap.get("verified"));
System.out.println(studentDataMap.get("marks"));
} catch (JsonParseException e) {
e.printStackTrace();
} catch (JsonMappingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
class Student {
private String name;
private int age;
public Student(){}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String toString(){
return "Student [ name: "+name+", age: "+ age+ " ]";
}
}
Verify the result
Kullanarak sınıfları derleyin javac aşağıdaki gibi derleyici:
C:\Jackson_WORKSPACE>javac JacksonTester.java
Şimdi sonucu görmek için jacksonTester'ı çalıştırın:
C:\Jackson_WORKSPACE>java JacksonTester
Çıkışı Doğrulayın
{name=Mahesh, age=10}
Mahesh Kumar
false
[1, 2, 3]
Tam Veri Bağlama
Tam veri bağlama, JSON'un herhangi bir JAVA Nesnesine eşlenmesini ifade eder.
//Create an ObjectMapper instance
ObjectMapper mapper = new ObjectMapper();
//map JSON content to Student object
Student student = mapper.readValue(new File("student.json"), Student.class);
//map Student object to JSON content
mapper.writeValue(new File("student.json"), student);
Basit veri bağlamanın işleyişini görelim. Burada JAVA Nesnesini doğrudan JSON ile eşleyeceğiz ve bunun tersini de yapacağız.
JacksonTester adlı bir java sınıf dosyası oluşturun. C:\>Jackson_WORKSPACE.
Dosya: JacksonTester.java
import java.io.File;
import java.io.IOException;
import com.fasterxml.jackson.core.JsonGenerationException;
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
public class JacksonTester {
public static void main(String args[]){
JacksonTester tester = new JacksonTester();
try {
Student student = new Student();
student.setAge(10);
student.setName("Mahesh");
tester.writeJSON(student);
Student student1 = tester.readJSON();
System.out.println(student1);
} catch (JsonParseException e) {
e.printStackTrace();
} catch (JsonMappingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
private void writeJSON(Student student) throws JsonGenerationException, JsonMappingException, IOException{
ObjectMapper mapper = new ObjectMapper();
mapper.writeValue(new File("student.json"), student);
}
private Student readJSON() throws JsonParseException, JsonMappingException, IOException{
ObjectMapper mapper = new ObjectMapper();
Student student = mapper.readValue(new File("student.json"), Student.class);
return student;
}
}
class Student {
private String name;
private int age;
public Student(){}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String toString(){
return "Student [ name: "+name+", age: "+ age+ " ]";
}
}
Verify the result
Kullanarak sınıfları derleyin javac aşağıdaki gibi derleyici:
C:\Jackson_WORKSPACE>javac JacksonTester.java
Şimdi sonucu görmek için jacksonTester'ı çalıştırın:
C:\Jackson_WORKSPACE>java JacksonTester
Çıkışı Doğrulayın
Student [ name: Mahesh, age: 10 ]
Generics ile Veri Bağlama
Basit veri bağlamada, String'i anahtar olarak ve Object'i bir değer nesnesi olarak kullanan Map sınıfını kullandık. Bunun yerine somut java nesnesine sahip olabiliriz ve JSON bağlamada kullanılmak üzere dökümünü yazabiliriz.
Kullanıcıya özel verileri tutan bir sınıf olan UserData sınıfına sahip aşağıdaki örneği düşünün.
JacksonTester adlı bir java sınıf dosyası oluşturun. C:\>Jackson_WORKSPACE.
Dosya: JacksonTester.java
import java.io.File;
import java.io.IOException;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
public class JacksonTester {
public static void main(String args[]){
JacksonTester tester = new JacksonTester();
try {
ObjectMapper mapper = new ObjectMapper();
Map<String, UserData> userDataMap = new HashMap<String, UserData>();
UserData studentData = new UserData();
int[] marks = {1,2,3};
Student student = new Student();
student.setAge(10);
student.setName("Mahesh");
// JAVA Object
studentData.setStudent(student);
// JAVA String
studentData.setName("Mahesh Kumar");
// JAVA Boolean
studentData.setVerified(Boolean.FALSE);
// Array
studentData.setMarks(marks);
TypeReference ref = new TypeReference<Map<String,UserData>>() { };
userDataMap.put("studentData1", studentData);
mapper.writeValue(new File("student.json"), userDataMap);
//{
// "studentData1":
// {
// "student":
// {
// "name":"Mahesh",
// "age":10
// },
// "name":"Mahesh Kumar",
// "verified":false,
// "marks":[1,2,3]
// }
//}
userDataMap = mapper.readValue(new File("student.json"), ref);
System.out.println(userDataMap.get("studentData1").getStudent());
System.out.println(userDataMap.get("studentData1").getName());
System.out.println(userDataMap.get("studentData1").getVerified());
System.out.println(Arrays.toString(userDataMap.get("studentData1").getMarks()));
} catch (JsonParseException e) {
e.printStackTrace();
} catch (JsonMappingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
class Student {
private String name;
private int age;
public Student(){}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String toString(){
return "Student [ name: "+name+", age: "+ age+ " ]";
}
}
class UserData {
private Student student;
private String name;
private Boolean verified;
private int[] marks;
public UserData(){}
public Student getStudent() {
return student;
}
public void setStudent(Student student) {
this.student = student;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Boolean getVerified() {
return verified;
}
public void setVerified(Boolean verified) {
this.verified = verified;
}
public int[] getMarks() {
return marks;
}
public void setMarks(int[] marks) {
this.marks = marks;
}
}
Verify the result
Kullanarak sınıfları derleyin javac aşağıdaki gibi derleyici:
C:\Jackson_WORKSPACE>javac JacksonTester.java
Şimdi sonucu görmek için jacksonTester'ı çalıştırın:
C:\Jackson_WORKSPACE>java JacksonTester
Çıkışı Doğrulayın
Student [ name: Mahesh, age: 10 ]
Mahesh Kumar
false
[1, 2, 3]
Ağaç Modeli
Ağaç Modeli, JSON belgesinin bellek içi ağaç temsilini hazırlar. ObjectMapper, JsonNode düğümlerinin ağacını oluşturur. En esnek yaklaşımdır. XML için DOM ayrıştırıcısına benzer.
JSON'dan Ağaç Oluştur
ObjectMapper, JSON'u okuduktan sonra ağacın kök düğümüne bir işaretçi sağlar. Kök Düğüm, tüm ağacın üzerinden geçmek için kullanılabilir. Sağlanan bir JSON Dizesinin kök düğümünü almak için aşağıdaki kod parçacığını göz önünde bulundurun.
//Create an ObjectMapper instance
ObjectMapper mapper = new ObjectMapper();
String jsonString = "{\"name\":\"Mahesh Kumar\", \"age\":21,\"verified\":false,\"marks\": [100,90,85]}";
//create tree from JSON
JsonNode rootNode = mapper.readTree(jsonString);
Geçiş Ağacı Modeli
Ağacı dolaşırken kök düğüme giden göreceli yolu kullanarak her düğümü alın ve verileri işleyin. Kök düğüm tarafından sağlanan ağaçta gezinen aşağıdaki kod parçacığını düşünün.
JsonNode nameNode = rootNode.path("name");
System.out.println("Name: "+ nameNode.textValue());
JsonNode marksNode = rootNode.path("marks");
Iterator<JsonNode> iterator = marksNode.elements();
Misal
JacksonTester adlı bir java sınıf dosyası oluşturun. C:\>Jackson_WORKSPACE.
Dosya: JacksonTester.java
import java.io.IOException;
import java.util.Iterator;
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
public class JacksonTester {
public static void main(String args[]){
try {
ObjectMapper mapper = new ObjectMapper();
String jsonString = "{\"name\":\"Mahesh Kumar\", \"age\":21,\"verified\":false,\"marks\": [100,90,85]}";
JsonNode rootNode = mapper.readTree(jsonString);
JsonNode nameNode = rootNode.path("name");
System.out.println("Name: "+ nameNode.textValue());
JsonNode ageNode = rootNode.path("age");
System.out.println("Age: " + ageNode.intValue());
JsonNode verifiedNode = rootNode.path("verified");
System.out.println("Verified: " + (verifiedNode.booleanValue() ? "Yes":"No"));
JsonNode marksNode = rootNode.path("marks");
Iterator<JsonNode> iterator = marksNode.elements();
System.out.print("Marks: [ ");
while (iterator.hasNext()) {
JsonNode marks = iterator.next();
System.out.print(marks.intValue() + " ");
}
System.out.println("]");
}
catch (JsonParseException e) { e.printStackTrace(); }
catch (JsonMappingException e) { e.printStackTrace(); }
catch (IOException e) { e.printStackTrace(); }
}
}
Verify the result
Kullanarak sınıfları derleyin javac aşağıdaki gibi derleyici:
C:\Jackson_WORKSPACE>javac JacksonTester.java
Şimdi sonucu görmek için jacksonTester'ı çalıştırın:
C:\Jackson_WORKSPACE>java JacksonTester
Çıkışı Doğrulayın
Name: Mahesh Kumar
Age: 21
Verified: No
Marks: [ 100 90 85 ]
JSON'a Ağaç
Bu örnekte, JsonNode kullanarak bir Ağaç oluşturduk ve bunu bir json dosyasına yazıp geri okuduk.
JacksonTester adlı bir java sınıf dosyası oluşturun. C:\>Jackson_WORKSPACE.
Dosya: JacksonTester.java
import java.io.IOException;
import java.util.Iterator;
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
public class JacksonTester {
public static void main(String args[]){
try {
ObjectMapper mapper = new ObjectMapper();
String jsonString = "{\"name\":\"Mahesh Kumar\", \"age\":21,\"verified\":false,\"marks\": [100,90,85]}";
JsonNode rootNode = mapper.readTree(jsonString);
JsonNode nameNode = rootNode.path("name");
System.out.println("Name: "+ nameNode.textValue());
JsonNode ageNode = rootNode.path("age");
System.out.println("Age: " + ageNode.intValue());
JsonNode verifiedNode = rootNode.path("verified");
System.out.println("Verified: " + (verifiedNode.booleanValue() ? "Yes":"No"));
JsonNode marksNode = rootNode.path("marks");
Iterator<JsonNode> iterator = marksNode.elements();
System.out.print("Marks: [ ");
while (iterator.hasNext()) {
JsonNode marks = iterator.next();
System.out.print(marks.intValue() + " ");
}
System.out.println("]");
}
catch (JsonParseException e) { e.printStackTrace(); }
catch (JsonMappingException e) { e.printStackTrace(); }
catch (IOException e) { e.printStackTrace(); }
}
}
Verify the result
Kullanarak sınıfları derleyin javac aşağıdaki gibi derleyici:
C:\Jackson_WORKSPACE>javac JacksonTester.java
Şimdi sonucu görmek için jacksonTester'ı çalıştırın:
C:\Jackson_WORKSPACE>java JacksonTester
Çıkışı Doğrulayın
Name: Mahesh Kumar
Age: 21
Verified: No
Marks: [ 100 90 85 ]
Ağaçtan Java Nesnelerine
Bu örnekte, JsonNode kullanarak bir Ağaç oluşturduk ve bunu bir json dosyasına yazıp ağacı okuduktan sonra bunu Öğrenci nesnesi olarak dönüştürdük.
JacksonTester adlı bir java sınıf dosyası oluşturun. C:\>Jackson_WORKSPACE.
Dosya: JacksonTester.java
import java.io.File;
import java.io.IOException;
import java.util.Iterator;
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ArrayNode;
import com.fasterxml.jackson.databind.node.ObjectNode;
public class JacksonTester {
public static void main(String args[]){
JacksonTester tester = new JacksonTester();
try {
ObjectMapper mapper = new ObjectMapper();
JsonNode rootNode = mapper.createObjectNode();
JsonNode marksNode = mapper.createArrayNode();
((ArrayNode)marksNode).add(100);
((ArrayNode)marksNode).add(90);
((ArrayNode)marksNode).add(85);
((ObjectNode) rootNode).put("name", "Mahesh Kumar");
((ObjectNode) rootNode).put("age", 21);
((ObjectNode) rootNode).put("verified", false);
((ObjectNode) rootNode).put("marks",marksNode);
mapper.writeValue(new File("student.json"), rootNode);
rootNode = mapper.readTree(new File("student.json"));
Student student = mapper.treeToValue(rootNode, Student.class);
System.out.println("Name: "+ student.getName());
System.out.println("Age: " + student.getAge());
System.out.println("Verified: " + (student.isVerified() ? "Yes":"No"));
System.out.println("Marks: "+Arrays.toString(student.getMarks()));
} catch (JsonParseException e) {
e.printStackTrace();
} catch (JsonMappingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
class Student {
String name;
int age;
boolean verified;
int[] marks;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public boolean isVerified() {
return verified;
}
public void setVerified(boolean verified) {
this.verified = verified;
}
public int[] getMarks() {
return marks;
}
public void setMarks(int[] marks) {
this.marks = marks;
}
}
Verify the result
Kullanarak sınıfları derleyin javac aşağıdaki gibi derleyici:
C:\Jackson_WORKSPACE>javac JacksonTester.java
Şimdi sonucu görmek için jacksonTester'ı çalıştırın:
C:\Jackson_WORKSPACE>java JacksonTester
Çıkışı Doğrulayın
Name: Mahesh Kumar
Age: 21
Verified: No
Marks: [ 100 90 85 ]
Akış API'si
Akış API'si JSON içeriğini ayrı olaylar olarak okur ve yazar. JsonParser verileri okurken, JsonGenerator verileri yazar. Üçü arasında en güçlü yaklaşımdır ve en düşük ek yüke sahiptir ve okuma / yazma işlemlerinde en hızlıdır. XML için Stax ayrıştırıcısının Analogus'udur.
Bu Makalede, JSON verilerini okumak ve yazmak için Jackson akış API'larını kullanmayı göstereceğiz. Streaming API, token konseptiyle çalışır ve Json'un her detayı dikkatli bir şekilde ele alınmalıdır. Örneklerde kullanacağımız iki sınıf aşağıdadır:
JsonGenerator - JSON String'e yazın.
JsonParser - JSON Dizesini ayrıştırın.
JsonGenerator kullanarak JSON yazma
JsonGenerator'ı kullanmak oldukça basittir. Önce JsonFactory.createJsonGenerator () yöntemini kullanarak JsonGenerator'ı oluşturun ve her bir json değerini yazmak için bunun write *** () yöntemlerini kullanın.
JsonFactory jsonFactory = new JsonFactory();
JsonGenerator jsonGenerator = jsonFactory.createGenerator(new File(
"student.json"), JsonEncoding.UTF8);
// {
jsonGenerator.writeStartObject();
// "name" : "Mahesh Kumar"
jsonGenerator.writeStringField("name", "Mahesh Kumar");
JsonGenerator'ü çalışırken görelim. JacksonTester adlı bir java sınıf dosyası oluşturun.C:\>Jackson_WORKSPACE.
Dosya: JacksonTester.java
import java.io.File;
import java.io.IOException;
import java.util.Map;
import com.fasterxml.jackson.core.JsonEncoding;
import com.fasterxml.jackson.core.JsonFactory;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
public class JacksonTester {
public static void main(String args[]){
try {
JsonFactory jsonFactory = new JsonFactory();
JsonGenerator jsonGenerator = jsonFactory.createGenerator(new File("student.json"), JsonEncoding.UTF8);
jsonGenerator.writeStartObject();
// "name" : "Mahesh Kumar"
jsonGenerator.writeStringField("name", "Mahesh Kumar");
// "age" : 21
jsonGenerator.writeNumberField("age", 21);
// "verified" : false
jsonGenerator.writeBooleanField("verified", false);
// "marks" : [100, 90, 85]
jsonGenerator.writeFieldName("marks");
// [
jsonGenerator.writeStartArray();
// 100, 90, 85
jsonGenerator.writeNumber(100);
jsonGenerator.writeNumber(90);
jsonGenerator.writeNumber(85);
// ]
jsonGenerator.writeEndArray();
jsonGenerator.writeEndObject();
jsonGenerator.close();
//result student.json
//{
// "name":"Mahesh Kumar",
// "age":21,
// "verified":false,
// "marks":[100,90,85]
//}
ObjectMapper mapper = new ObjectMapper();
Map<String,Object> dataMap = mapper.readValue(new File("student.json"), Map.class);
System.out.println(dataMap.get("name"));
System.out.println(dataMap.get("age"));
System.out.println(dataMap.get("verified"));
System.out.println(dataMap.get("marks"));
}
catch (JsonParseException e) { e.printStackTrace(); }
catch (JsonMappingException e) { e.printStackTrace(); }
catch (IOException e) { e.printStackTrace(); }
}
}
Verify the result
Kullanarak sınıfları derleyin javac aşağıdaki gibi derleyici:
C:\Jackson_WORKSPACE>javac JacksonTester.java
Şimdi sonucu görmek için jacksonTester'ı çalıştırın:
C:\Jackson_WORKSPACE>java JacksonTester
Çıkışı Doğrulayın
Mahesh Kumar
21
false
[100, 90, 85]
JsonParser kullanarak JSON okuma
JsonParser'ı kullanmak yine oldukça basit. Önce JsonFactory.createJsonParser () yöntemini kullanarak JsonParser'ı oluşturun ve her bir json dizesini belirteç olarak okumak için bunun nextToken () yöntemlerini kullanın. Her bir jetonu kontrol edin ve uygun şekilde işleyin
JsonFactory jasonFactory = new JsonFactory();
JsonParser jsonParser = jasonFactory.createJsonParser(new File("student.json"));
while (jsonParser.nextToken() != JsonToken.END_OBJECT) {
//get the current token
String fieldname = jsonParser.getCurrentName();
if ("name".equals(fieldname)) {
//move to next token
jsonParser.nextToken();
System.out.println(jsonParser.getText());
}
}
JsonParser'ı iş başında görelim. JacksonTester adlı bir java sınıf dosyası oluşturun.C:\>Jackson_WORKSPACE.
Dosya: JacksonTester.java
import java.io.File;
import java.io.IOException;
import java.util.Map;
import com.fasterxml.jackson.core.JsonEncoding;
import com.fasterxml.jackson.core.JsonFactory;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
public class JacksonTester {
public static void main(String args[]){
JacksonTester tester = new JacksonTester();
try {
JsonFactory jsonFactory = new JsonFactory();
JsonGenerator jsonGenerator = jsonFactory.createGenerator(new File(
"student.json"), JsonEncoding.UTF8);
jsonGenerator.writeStartObject();
jsonGenerator.writeStringField("name", "Mahesh Kumar");
jsonGenerator.writeNumberField("age", 21);
jsonGenerator.writeBooleanField("verified", false);
jsonGenerator.writeFieldName("marks");
jsonGenerator.writeStartArray(); // [
jsonGenerator.writeNumber(100);
jsonGenerator.writeNumber(90);
jsonGenerator.writeNumber(85);
jsonGenerator.writeEndArray();
jsonGenerator.writeEndObject();
jsonGenerator.close();
//result student.json
//{
// "name":"Mahesh Kumar",
// "age":21,
// "verified":false,
// "marks":[100,90,85]
//}
JsonParser jsonParser = jsonFactory.createParser(new File("student.json"));
while (jsonParser.nextToken() != JsonToken.END_OBJECT) {
//get the current token
String fieldname = jsonParser.getCurrentName();
if ("name".equals(fieldname)) {
//move to next token
jsonParser.nextToken();
System.out.println(jsonParser.getText());
}
if("age".equals(fieldname)){
//move to next token
jsonParser.nextToken();
System.out.println(jsonParser.getNumberValue());
}
if("verified".equals(fieldname)){
//move to next token
jsonParser.nextToken();
System.out.println(jsonParser.getBooleanValue());
}
if("marks".equals(fieldname)){
//move to [
jsonParser.nextToken();
// loop till token equal to "]"
while (jsonParser.nextToken() != JsonToken.END_ARRAY) {
System.out.println(jsonParser.getNumberValue());
}
}
}
} catch (JsonParseException e) {
e.printStackTrace();
} catch (JsonMappingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Verify the result
Kullanarak sınıfları derleyin javac aşağıdaki gibi derleyici:
C:\Jackson_WORKSPACE>javac JacksonTester.java
Şimdi sonucu görmek için jacksonTester'ı çalıştırın:
C:\Jackson_WORKSPACE>java JacksonTester
Çıkışı Doğrulayın
Mahesh Kumar
21
false
[100, 90, 85]
JsonGenerator Sınıfı
Giriş
JsonParser, Json içeriğini okumak için genel API'yi tanımlayan temel sınıftır. Örnekler, bir JsonFactory örneğinin fabrika yöntemleri kullanılarak oluşturulur.
Sınıf beyanı
Aşağıdaki beyanı org.codehaus.jackson.JsonParser sınıf:
public abstract class JsonParser
extends Object
implements Closeable, Versioned
Yuvalanmış Sınıflar
SN | Sınıf ve Açıklama |
---|---|
1 | static class JsonParser.Feature Ayrıştırıcılar için değiştirilebilir tüm özellikleri tanımlayan numaralandırma. |
2 | static class JsonParser.NumberType Sayılar için kullanılabilecek olası "yerel" (optimal) türlerin numaralandırılması. |
Alanlar
protected PrettyPrinter _cfgPrettyPrinter - Çıktı sırasında güzel baskı işleyen nesne (sonuçları daha insan tarafından okunabilir hale getirmek için genellikle ek beyaz alan).
protected JsonToken _currToken - Varsa nextToken () aracılığıyla alınan son belirteç.
protected int _features - Hangi JsonParser.Features'ın etkinleştirildiğini gösteren bitlerden oluşan bit bayrağı.
protected JsonToken _lastClearedToken - Varsa, son temizlenen simge: yani, clearCurrentToken () çağrıldığında etkin olan değer.
İnşaatçılar
SN | Oluşturucu ve Açıklama |
---|---|
1 | protected JsonParser() Varsayılan kurucu |
2 | protected JsonParser(int features) |
Sınıf Yöntemleri
SN | Yöntem ve Açıklama |
---|---|
1 | protected void _reportError(String msg) - Verilen temel mesajla JsonGenerationException oluşturmak ve atmak için kullanılan yardımcı yöntem. |
2 | protected void _reportUnsupportedOperation() |
3 | protected void _throwInternal() |
4 | protected void _writeSimpleObject(Object value)- Verilen türlenmemiş Nesne için uygun yazma yöntemini çağırmaya yönelik yardımcı yöntem. |
5 | boolean canOmitFields() - Nesne alanlarının yazılmasının atlanmasının uygun olup olmadığını kontrol etmek için iç gözlem yöntemi. |
6 | boolean canUseSchema(FormatSchema schema) - Verilen şemanın bu oluşturucu ile kullanılabileceğini doğrulamak için kullanılabilecek yöntem (setSchema (com.fasterxml.jackson.core.FormatSchema kullanılarak) kullanılarak). |
7 | boolean canWriteBinaryNatively()- Temeldeki veri formatının "yerel" ikili verileri destekleyip desteklemediğini görmek için çağrılabilen iç gözlem yöntemi; yani, kodlama olmadan ikili içeriğin verimli bir çıktısı. |
8 | boolean canWriteObjectId() - Temeldeki veri formatının bir tür Nesne Kimliğini yerel olarak destekleyip desteklemediğini görmek için çağrılabilen iç gözlem yöntemi (çoğu desteklemez; örneğin, JSON desteklemez). |
9 | boolean canWriteTypeId() - Temeldeki veri formatının bir tür Tip Kimliğini yerel olarak destekleyip desteklemediğini görmek için çağrılabilen iç gözlem yöntemi (çoğu desteklemez; örneğin, JSON desteklemez). |
10 | abstract void close() - Bu jeneratörü kapatmak için yöntem çağrıldı, böylece daha fazla içerik yazılamaz. |
11 | JsonGenerator configure(JsonGenerator.Feature f, boolean state) - Belirtilen özelliği etkinleştirme veya devre dışı bırakma yöntemi: mevcut özelliklerin listesi için JsonGenerator.Feature öğesini kontrol edin. |
12 | void copyCurrentEvent(JsonParser jp) - Verilen ayrıştırıcı örneğinin işaret ettiği geçerli olayın içeriğini kopyalama yöntemi. |
13 | void copyCurrentStructure(JsonParser jp) - Geçerli olayın içeriğini ve verilen ayrıştırıcı örneğinin işaret ettiği olayları içeren aşağıdaki olayları kopyalama yöntemi. |
14 | abstract JsonGenerator disable(JsonGenerator.Feature f) - Method for disabling specified features (check JsonGenerator.Feature for list of features) |
15 | abstract JsonGenerator enable(JsonGenerator.Feature f) - Belirtilen ayrıştırıcı özelliklerini etkinleştirme yöntemi: kullanılabilir özelliklerin listesi için JsonGenerator.Feature öğesini kontrol edin. |
16 | abstract void flush() - Ara belleğe alınmış içeriği temeldeki hedefe (çıktı akışı, yazıcı) boşaltmak ve hedefin kendisini temizlemek için çağrılan yöntem. |
17 | CharacterEscapes getCharacterEscapes() - Oluşturduğu JsonGenerator'lar için fabrika tarafından kullanılan özel kaçışlara erişim yöntemi. |
18 | abstract ObjectCodec getCodec() - Java nesnesini Json içeriği olarak yazmak için kullanılan nesneye erişim yöntemi (writeObject (java.lang.Object) yöntemini kullanarak). |
19 | abstract int getFeatureMask() - Tüm standart JsonGenerator.Features durumunu almak için toplu erişim yöntemi. |
20 | int getHighestEscapedChar() - Bu oluşturucu için yapılandırılmış en yüksek kaçılmamış karakterin ne olduğunu test etmek için erişimci yöntemi. |
21 | abstract JsonStreamContext getOutputContext() |
22 | Object getOutputTarget()- Üretilen çıktı için hedef olarak kullanılan nesneye erişmek için kullanılabilecek yöntem; bu, oluşturucunun ne ile oluşturulduğuna bağlı olarak genellikle OutputStream veya Writer'dır. |
23 | PrettyPrinter getPrettyPrinter()- Bu oluşturucunun yapılandırılmış bir PrettyPrinter olup olmadığını kontrol etmek için erişimci; eğer öyleyse döndürür, yapılandırılmamışsa null. |
24 | FormatSchema getSchema() - Varsa, bu ayrıştırıcının kullandığı Şemaya erişim yöntemi. |
25 | abstract boolean isClosed() - Bu jeneratörün kapalı olup olmadığını belirlemek için çağrılabilecek yöntem. |
26 | abstract boolean isEnabled(JsonGenerator.Feature f) - Verilen özelliğin etkin olup olmadığını kontrol etme yöntemi. |
27 | JsonGenerator setCharacterEscapes(CharacterEscapes esc)-Oluşturduğu JsonGenerator'lar için fabrika tarafından kullanılan özel kaçışları tanımlama yöntemi. |
28 | abstract JsonGenerator setCodec(ObjectCodec oc)- Java nesnelerini JsonContent olarak yazmak için kullanılacak nesneyi ayarlamak veya sıfırlamak için çağrılabilen yöntem (writeObject yöntemini (java.lang.Object) kullanarak). |
29 | abstract JsonGenerator setFeatureMask(int mask)-Tüm standart JsonGenerator durumlarının (yeniden) ayarlanması için toplu küme yöntemi. |
30 | JsonGenerator setHighestNonEscapedChar(int charCode) - Method that can be called to request that generator escapes all character codes above specified code point (if positive value); or, to not escape any characters except for ones that must be escaped for the data format (if -1). |
31 | JsonGenerator setPrettyPrinter(PrettyPrinter pp) - Geliştirilmiş insan tarafından okunabilirlik için genellikle girinti eklemek için kullanılan, özel bir hoş yazıcı ayarlama yöntemi. |
32 | JsonGenerator setRootValueSeparator(SerializableString sep) - Kök düzeyindeki JSON değerlerini ayırmak için kullanılan Dizeyi geçersiz kılmaya izin veren yöntem (varsayılan, tek boşluk karakteridir) |
33 | void setSchema(FormatSchema schema) - Bu oluşturucunun belirtilen şemayı kullanmasını sağlamak için arama yöntemi. |
33 | abstract JsonGenerator useDefaultPrettyPrinter()- Varsayılan güzel yazıcıyı (DefaultPrettyPrinter) kullanarak güzel yazdırmayı etkinleştirmek için uygun yöntem. |
34 | abstract Version version()- Bu jeneratör örneğini sağlayan paketin sürümünü bulmak için erişimci. |
35 | void writeArrayFieldStart(String fieldName)- Bir alan girişi ("üye") (bir JSON Dizisi değeri içerecek) ve START_ARRAY işaretçisi çıktısını almak için uygun yöntem. |
36 | abstract void writeBinary(Base64Variant b64variant, byte[] data, int offset, int len)- Verilen ikili veri yığınını base64 olarak kodlanmış olarak, tam bir Dize değeri olarak (çift tırnak içine alınmış) çıkaracak yöntem. |
37 | abstract int writeBinary(Base64Variant b64variant, InputStream data, int dataLength) - writeBinary (Base64Variant, bayt [], int, int) 'e benzer, ancak girişin bir akış aracılığıyla sağlandığı, tüm girdiyi bellekte tutmadan artımlı yazmalara izin veren yöntem. |
38 | void writeBinary(byte[] data)- writeBinary (Base64Variant, bayt [], int, int) 'e benzer, ancak varsayılan olarak Jackson'ın varsayılan Base64 varyantını (Base64Variants.MIME_NO_LINEFEEDS) kullandığını varsayar. |
39 | void writeBinary(byte[] data, int offset, int len) - writeBinary (Base64Variant, bayt [], int, int) 'e benzer, ancak varsayılan olarak Jackson varsayılan Base64 varyantını (Base64Variants.MIME_NO_LINEFEEDS) kullanır. |
40 | int writeBinary(InputStream data, int dataLength) - writeBinary'e (Base64Variant, InputStream, int) benzer, ancak varsayılan olarak Jackson'ın varsayılan Base64 varyantını (Base64Variants.MIME_NO_LINEFEEDS) kullandığını varsayar. |
41 | void writeBinaryField(String fieldName, byte[] data) - Base64 olarak kodlanmış biçimde belirtilen verileri içeren bir alan girdisinin ("üye") çıktısını almak için uygun yöntem. |
42 | abstract void writeBoolean(boolean state) - Değişmez Json boole değerini (Strings 'true' ve 'false' değerlerinden biri) çıktılama yöntemi. |
43 | void writeBooleanField(String fieldName, boolean value) - Boole değeri olan bir alan girdisinin ("üye") çıktısını almak için uygun yöntem. |
44 | abstract void writeEndArray() - JSON Array değerinin kapanış işaretini yazma yöntemi (karakter ']'; artı hoş baskı etkinleştirilmişse olası beyaz boşluk dekorasyonu). |
45 | abstract void writeEndObject() - Bir JSON Nesnesi değerinin kapanış işaretini yazma yöntemi ('}' karakteri; artı hoş baskı etkinleştirilmişse olası beyaz boşluk dekorasyonu). |
46 | abstract void writeFieldName(SerializableString name) - writeFieldName (String) 'e benzer yöntem, temel fark, bazı işlemlerin (belirli karakterlerin alıntılanması veya jeneratör tarafından destekleniyorsa harici kodlamaya kodlama gibi) yalnızca bir kez yapılabilmesi ve sonraki çağrılar için yeniden kullanılabilmesi nedeniyle daha iyi performans gösterebilmesidir. |
47 | abstract void writeFieldName(String name) - Bir alan adı yazma yöntemi (çift tırnak içine alınmış JSON Dizesi: sözdizimsel olarak bir JSON Dize değeriyle aynıdır), eğer hoş baskı etkinleştirilmişse muhtemelen beyaz boşlukla dekore edilmiştir. |
48 | abstract void writeNull() - Değişmez Json boş değerinin çıktısını alma yöntemi. |
49 | void writeNullField(String fieldName) - JSON değişmez değeri null olan bir alan girdisinin ("üye") çıktısını almak için uygun yöntem. |
50 | abstract void writeNumber(BigDecimal dec) - Çıktı alma yöntemi Json sayısal değerini gösterir. |
51 | abstract void writeNumber(BigInteger v) - Verilen değeri Json numarası olarak verme yöntemi. |
52 | abstract void writeNumber(double d) - Çıktı alma yöntemi Json sayısal değerini gösterir. |
53 | abstract void writeNumber(float f) - Çıktı alma yöntemi Json sayısal değerini gösterir. |
54 | abstract void writeNumber(int v) - Verilen değeri Json numarası olarak verme yöntemi. |
55 | abstract void writeNumber(long v) - Verilen değeri Json numarası olarak verme yöntemi. |
56 | void writeNumber(short v) - Verilen değeri Json numarası olarak verme yöntemi. |
57 | abstract void writeNumber(String encodedValue) - "Standart" Java numara türlerine (kolayca?) Dönüştürülemeyen özel sayısal türler için kullanılabilen yazma yöntemi. |
58 | void writeNumberField(String fieldName, BigDecimal value) - Belirtilen sayısal değere sahip bir alan girdisinin ("üye") çıktısını almak için uygun yöntem. |
59 | void writeNumberField(String fieldName, double value) - Belirtilen sayısal değere sahip bir alan girdisinin ("üye") çıktısını almak için uygun yöntem. |
60 | void writeNumberField(String fieldName, float value) - Belirtilen sayısal değere sahip bir alan girdisinin ("üye") çıktısını almak için uygun yöntem. |
61 | void writeNumberField(String fieldName, int value) - Belirtilen sayısal değere sahip bir alan girdisinin ("üye") çıktısını almak için uygun yöntem. |
62 | void writeNumberField(String fieldName, long value) - Belirtilen sayısal değere sahip bir alan girdisinin ("üye") çıktısını almak için uygun yöntem. |
63 | abstract void writeObject(Object pojo) - Verilen Java nesnesini (POJO) Json olarak yazma yöntemi. |
64 | void writeObjectField(String fieldName, Object pojo) - Değeri olarak belirli Java nesnesinin içeriğine sahip bir alan girdisinin ("üye") çıktısını almak için uygun yöntem. |
65 | void writeObjectFieldStart(String fieldName) - Bir alan girişi ("üye") (bir JSON Nesnesi değeri içerecek) ve START_OBJECT işaretleyicisinin çıktısını almak için uygun yöntem. |
66 | void writeObjectId(Object id) - Sözde yerel Nesne Kimliği çıkışı için çağrılabilen yöntem. |
67 | void writeObjectRef(Object id) - Yerel Nesne Kimliklerine gönderim referansları vermek için çağrılabilen yöntem. |
68 | void writeOmittedField(String fieldName) Method called to indicate that a property in this position was skipped. |
69 | abstract void writeRaw(char c) - Oluşturucuyu herhangi bir değişiklik yapmadan girdi metnini aynen kopyalamaya zorlayacak yöntem (buna, bağlam [dizi, nesne] başka türlü gerektirse bile kaçış yapılmaması ve ayırıcı eklenmemesi dahil). |
70 | abstract void writeRaw(char[] text, int offset, int len) - Oluşturucuyu herhangi bir değişiklik yapmadan girdi metnini aynen kopyalamaya zorlayacak yöntem (buna, bağlam [dizi, nesne] başka türlü gerektirse bile kaçış yapılmaması ve ayırıcı eklenmemesi dahil). |
71 | void writeRaw(SerializableString raw) - Oluşturucuyu herhangi bir değişiklik yapmadan girdi metnini aynen kopyalamaya zorlayacak yöntem (buna, bağlam [dizi, nesne] başka türlü gerektirse bile kaçış yapılmaması ve ayırıcı eklenmemesi dahil). |
72 | abstract void writeRaw(String text) - Oluşturucuyu herhangi bir değişiklik yapmadan girdi metnini aynen kopyalamaya zorlayacak yöntem (buna, bağlam [dizi, nesne] başka türlü gerektirse bile kaçış yapılmaması ve ayırıcı eklenmemesi dahil). |
73 | abstract void writeRaw(String text, int offset, int len) - Oluşturucuyu herhangi bir değişiklik yapmadan girdi metnini aynen kopyalamaya zorlayacak yöntem (buna, bağlam [dizi, nesne] başka türlü gerektirse bile kaçış yapılmaması ve ayırıcı eklenmemesi dahil). |
74 | abstract void writeRawUTF8String(byte[] text, int offset, int length) - Yöntem writeString (String) 'e benzer, ancak bu, girdi olarak UTF-8 kodlu bir String alır ve ek kaçış olmadan (türü veri formatına bağlıdır; JSON için ters eğik çizgiler) olduğu gibi çıkarılır. |
75 | abstract void writeRawValue(char[] text, int offset, int len) |
76 | abstract void writeRawValue(String text)- Oluşturucuyu giriş metnini herhangi bir değişiklik yapmadan aynen kopyalamaya zorlayacak, ancak bunun tek bir yasal JSON değeri oluşturması gerektiği varsayılarak (sayı, dize, boolean, null, Dizi veya Liste) yöntem. |
77 | abstract void writeRawValue(String text, int offset, int len) |
78 | abstract void writeStartArray()- JSON Array değerinin başlangıç işaretini yazma yöntemi (karakter '['; artı hoş baskı etkinleştirildiyse olası beyaz boşluk dekorasyonu). |
79 | abstract void writeStartObject() - JSON Nesnesi değerinin başlangıç işaretini yazma yöntemi (karakter '{'; artı hoş baskı etkinleştirildiyse olası beyaz boşluk dekorasyonu). |
80 | abstract void writeString(char[] text, int offset, int len) - Bir String değeri çıktı alma yöntemi. |
81 | abstract void writeString(SerializableString text) - writeString (String) 'e benzer bir yöntemdir, ancak bu, SerializableString'i alır ve bu, jeneratör, alıntılanmış ve / veya kodlanmış gösterimi yeniden kullanabilir. |
82 | abstract void writeString(String text) - Bir String değeri çıktı alma yöntemi. |
83 | void writeStringField(String fieldName, String value) - String değeri olan bir alan girdisinin ("üye") çıktısını almak için uygun yöntem. |
84 | abstract void writeTree(TreeNode rootNode) - Verilen JSON ağacını (verilen JsonNode'un kök olduğu bir ağaç olarak ifade edilir) bu oluşturucu kullanarak yazma yöntemi. |
85 | void writeTypeId(Object id) - Yerel Tip Kimliği olarak adlandırılan çıktı için çağrılabilen yöntem. |
86 | abstract void writeUTF8String(byte[] text, int offset, int length) - writeString (String) 'e benzer bir yöntem, ancak bu, girdi olarak, kaçan şema veri formatının gerektirdiği (kontrol karakterleri ve çift tırnak için ters eğik çizgi-kaçan JSON için; başka bir şeyi biçimlendirir). |
Miras alınan yöntemler
Bu sınıf, yöntemleri aşağıdaki sınıflardan miras alır:
java.lang.Object
JsonParser Sınıfı
Giriş
JsonParser, Json içeriğini okumak için genel API'yi tanımlayan temel sınıftır. Örnekler, bir JsonFactory örneğinin fabrika yöntemleri kullanılarak oluşturulur.
Sınıf beyanı
Aşağıdaki beyanı com.fasterxml.jackson.core.JsonParser sınıf:
public abstract class JsonParser
extends Object
implements Closeable, Versioned
Yuvalanmış Sınıflar
SN | Sınıf ve Açıklama |
---|---|
1 | static class JsonParser.Feature Ayrıştırıcılar için değiştirilebilir tüm özellikleri tanımlayan numaralandırma. |
2 | static class JsonParser.NumberType Sayılar için kullanılabilecek olası "yerel" (optimal) türlerin numaralandırılması. |
Alanlar
protected int _features - Hangi JsonParser.Features'ın etkinleştirildiğini gösteren bitlerden oluşan bit bayrağı.
İnşaatçılar
SN | Oluşturucu ve Açıklama |
---|---|
1 | korumalı JsonParser () Varsayılan yapıcı |
2 | korumalı JsonParser (int özellikler) |
Sınıf Yöntemleri
SN | Yöntem ve Açıklama |
---|---|
1 | protected JsonParseException _constructError(String msg) - Ayrıştırıcının mevcut durumuna bağlı olarak JsonParseExceptions oluşturmak için yardımcı yöntem. |
2 | protected void _reportUnsupportedOperation() - Ayrıştırıcı uygulaması tarafından desteklenmeyen işlemleri çağırmak için yardımcı yöntem. |
3 | boolean canReadObjectId() - Temeldeki veri formatının bir tür Nesne Kimliğini yerel olarak destekleyip desteklemediğini görmek için çağrılabilen iç gözlem yöntemi (çoğu desteklemez; örneğin, JSON desteklemez). |
4 | boolean canReadTypeId() - Temeldeki veri formatının bir tür Tip Kimliğini yerel olarak destekleyip desteklemediğini görmek için çağrılabilen iç gözlem yöntemi (çoğu desteklemez; örneğin, JSON desteklemez). |
5 | boolean canUseSchema(FormatSchema schema) - Verilen şemanın bu ayrıştırıcıyla kullanılabileceğini doğrulamak için kullanılabilecek yöntem (setSchema (com.fasterxml.jackson.core.FormatSchema kullanılarak) kullanılarak). |
6 | abstract void clearCurrentToken() - HasCurrentToken () false döndürür ve getCurrentToken () null) için geçerli belirteci etkin bir şekilde kaldırarak "tüketmek" için çağrılan yöntem. |
7 | abstract void close()- Daha fazla yineleme veya veri erişimi yapılamayacak şekilde ayrıştırıcıyı kapatır; ayrıştırıcı giriş kaynağına sahipse veya JsonParser özelliği varsa, temel alınan giriş kaynağını da kapatır.Feature.AUTO_CLOSE_SOURCE etkinleştirilir. |
8 | JsonParser configure(JsonParser.Feature f, boolean state) - Belirtilen özelliği etkinleştirme veya devre dışı bırakma yöntemi (özellik listesi için JsonParser.Feature'a bakın) |
9 | JsonParser disable(JsonParser.Feature f) - Belirtilen özelliği devre dışı bırakma yöntemi (özellik listesi için JsonParser.Feature'a bakın) |
10 | JsonParser enable(JsonParser.Feature f) - Belirtilen ayrıştırıcı özelliğini etkinleştirme yöntemi (özellik listesi için JsonParser.Feature'ü kontrol edin) |
11 | abstract BigInteger getBigIntegerValue() - Geçerli belirteç JsonToken.VALUE_NUMBER_INT türünde olduğunda çağrılabilen sayısal erişimci ve büyüklüğü nedeniyle Java uzun ilkel türü olarak kullanılamaz. |
12 | byte[] getBinaryValue() - Varsayılan kodlama olarak Base64Variants.getDefaultVariant () 'ı varsayılan olarak kullanan getBinaryValue (Base64Variant)' a uygun alternatif. |
13 | abstract byte[] getBinaryValue(Base64Variant b64variant) - Geçerli metinsel JSON değerine dahil edilen, base64 kodlu ikili verileri okumak (ve tüketmek - sonuçlara diğer yöntemler kullanılarak erişilemeyebilir) yöntem. |
14 | boolean getBooleanValue() - Mevcut belirteç JsonToken.VALUE_TRUE veya JsonToken.VALUE_FALSE olduğunda çağrılabilen kolaylık erişimcisi. |
15 | byte getByteValue() - Geçerli belirteç JsonToken.VALUE_NUMBER_INT türünde olduğunda çağrılabilen sayısal erişimci ve Java bayt ilkel türünün bir değeri olarak ifade edilebilir. |
16 | abstract ObjectCodec getCodec() - Varsa, bu ayrıştırıcıyla ilişkili ObjectCodec için erişimci. |
17 | abstract JsonLocation getCurrentLocation()- Son işlenen karakterin konumunu döndüren yöntem; genellikle hata raporlama amaçlıdır. |
18 | abstract String getCurrentName()- Mevcut belirteçle ilişkili adı almak için çağrılabilen yöntem: JsonToken.FIELD_NAME'ler için getText () döndürdüğü ile aynı olacaktır; alan değerleri için alan adından önce gelecektir; ve diğerleri için (dizi değerleri, kök düzeyi değerleri) null. |
19 | abstract JsonToken getCurrentToken()- Erişimci, eğer varsa, o anda hangi belirteç ayrıştırıcısının işaret ettiğini bulmak için; yok ise null döndürülür. |
20 | abstract int getCurrentTokenId() - getCurrentToken () yöntemine benzer ancak bu, JsonToken (enum değeri) yerine bir int döndürür. |
21 | abstract BigDecimal getDecimalValue() - Geçerli belirteç JsonToken.VALUE_NUMBER_FLOAT veya JsonToken.VALUE_NUMBER_INT türünde olduğunda çağrılabilen sayısal erişimci. |
22 | abstract double getDoubleValue() - Geçerli belirteç JsonToken.VALUE_NUMBER_FLOAT türünde olduğunda çağrılabilen sayısal erişimci ve Java çift ilkel türü olarak ifade edilebilir. |
23 | abstract Object getEmbeddedObject() - Mevcut belirteç JsonToken ise (ve ancak) çağrılabilen erişimci.VALUE_EMBEDDED_OBJECT. |
24 | int getFeatureMask() - Tüm standart JsonParser.Features durumunu almak için toplu erişim yöntemi. |
25 | abstract float getFloatValue() - Geçerli belirteç JsonToken.VALUE_NUMBER_FLOAT türünde olduğunda çağrılabilen sayısal erişimci ve Java kayan temel türü olarak ifade edilebilir. |
26 | Object getInputSource()- Ayrıştırılan girdiye erişmek için kullanılan nesneye erişmek için kullanılabilecek yöntem; bu genellikle ayrıştırıcının hangi çözümleyiciyle yapıldığına bağlı olarak InputStream veya Reader'dır. |
27 | abstract int getIntValue() - Geçerli belirteç JsonToken.VALUE_NUMBER_INT türünde olduğunda çağrılabilen sayısal erişimci ve Java int ilkel türünün bir değeri olarak ifade edilebilir. |
28 | abstract JsonToken getLastClearedToken() - clearCurrentToken () kullanılarak temizlenen son belirteci almak için çağrılabilen yöntem. |
29 | abstract long getLongValue() - Geçerli belirteç JsonToken.VALUE_NUMBER_INT türünde olduğunda çağrılabilen sayısal erişimci ve Java uzun ilkel türü olarak ifade edilebilir. |
30 | abstract JsonParser.NumberType getNumberType()- Mevcut belirteç JsonToken.VALUE_NUMBER_INT veya JsonToken.VALUE_NUMBER_FLOAT türündeyse, JsonParser.NumberType sabitlerinden birini döndürür; aksi takdirde null döndürür. |
31 | abstract Number getNumberValue() - Her türlü sayısal değer için çalışacak genel sayı değeri erişimci yöntemi. |
32 | Object getObjectId() - Geçerli jetonun (henüz okunmuş olan) ilişkili bir Nesne kimliğine sahip olup olmadığını kontrol etmek için çağrılabilen yöntem ve varsa geri döndür. |
33 | abstract JsonStreamContext getParsingContext() - Mevcut ayrıştırma bağlamı okuyucusuna erişmek için kullanılabilecek yöntem. |
34 | FormatSchema getSchema() - Varsa, bu ayrıştırıcının kullandığı Şemaya erişim yöntemi. |
35 | short getShortValue() - Geçerli belirteç JsonToken.VALUE_NUMBER_INT türünde olduğunda çağrılabilen sayısal erişimci ve Java kısa ilkel türünün bir değeri olarak ifade edilebilir. |
36 | abstract String getText()- Mevcut belirtecin metinsel temsiline erişim yöntemi; geçerli belirteç yoksa (nextToken () 'e yapılan ilk çağrıdan önce veya girdi sonu ile karşılaştıktan sonra) null döndürür. |
37 | abstract char[] getTextCharacters() - getText () yöntemine benzer, ancak bu bilgiyi içerecek bir String nesnesi oluşturmak yerine, metin değeri içeren temel (değiştirilemez) karakter dizisini döndürecektir. |
38 | abstract int getTextLength() - Döndürülen arabellekte depolanan String uzunluğunu bilmek için getTextCharacters () ile birlikte kullanılan erişimci. |
39 | abstract int getTextOffset() - Arabellekteki ilk metin içeriği karakterinin ofsetini bilmek için getTextCharacters () ile birlikte kullanılan erişimci. |
40 | abstract JsonLocation getTokenLocation()- Mevcut jetonun başlangıç konumunu döndüren yöntem; diğer bir deyişle, geçerli jetonu başlatan girişten ilk karakterin konumu. |
41 | Object getTypeId() - Geçerli jetonun (henüz okunmuş olan) ilişkili bir tür kimliğine sahip olup olmadığını kontrol etmek için çağrılabilen yöntem ve öyleyse geri döndür. |
42 | boolean getValueAsBoolean() - Mevcut belirtecin değerini boole değerine dönüştürmeye çalışan yöntem. |
43 | boolean getValueAsBoolean(boolean defaultValue) - Mevcut belirtecin değerini boole değerine dönüştürmeye çalışan yöntem. |
44 | double getValueAsDouble() - Mevcut belirteç değerini Java çiftine dönüştürmeye çalışan yöntem. |
45 | double getValueAsDouble(double defaultValue) - Mevcut belirteç değerini Java çiftine dönüştürmeye çalışan yöntem. |
46 | int getValueAsInt() - Mevcut belirtecin değerini bir int'e dönüştürmeye çalışan yöntem. |
47 | int getValueAsInt(int defaultValue) - Mevcut belirtecin değerini bir int'e dönüştürmeye çalışan yöntem. |
48 | long getValueAsLong() - Mevcut token değerini uzun bir tokena dönüştürmeye çalışan yöntem. |
49 | long getValueAsLong(long defaultValue) - Mevcut token değerini uzun bir tokena dönüştürmeye çalışan yöntem. |
50 | String getValueAsString() - Mevcut token değerini String'e dönüştürmeye çalışan yöntem. |
51 | abstract String getValueAsString(String defaultValue) - Mevcut token değerini String'e dönüştürmeye çalışan yöntem. |
52 | abstract boolean hasCurrentToken() - Ayrıştırıcının şu anda bir belirteci işaret edip etmediğini kontrol etme yöntemi (ve bu belirteç için veriler mevcuttur). |
53 | abstract boolean hasTextCharacters() - getTextCharacters () çağrısının, halihazırda işaret ettiği olay ayrıştırıcısı için metin içeriğine erişmenin en etkili yolu olup olmadığını belirlemek için kullanılabilen yöntem. |
54 | abstract boolean isClosed() - Bu ayrıştırıcının kapalı olup olmadığını belirlemek için çağrılabilecek yöntem. |
55 | boolean isEnabled(JsonParser.Feature f) - Belirtilen JsonParser.Feature özelliğinin etkin olup olmadığını kontrol etme yöntemi. |
56 | boolean isExpectedStartArrayToken() - Başlangıç dizisi beklendiğinde, geçerli simgenin başlangıç dizisini gösterdiğini doğrulamak için kullanılabilen özel erişimci (genellikle geçerli simgenin JsonToken.START_ARRAY olduğu anlamına gelir). |
57 | Boolean nextBooleanValue()- Sonraki belirteci (nextToken () çağırıyormuş gibi) ve JsonToken.VALUE_TRUE veya JsonToken.VALUE_FALSE ise, eşleşen Boole değerini döndüren yöntem; aksi takdirde null döndür. |
58 | boolean nextFieldName(SerializableString str) - Sonraki belirteci (nextToken () çağırıyormuş gibi) getiren ve belirtilen ada sahip JsonToken.FIELD_NAME olup olmadığını doğrulayan ve bu karşılaştırmanın sonucunu döndüren yöntem. |
59 | int nextIntValue(int defaultValue)- Sonraki belirteci (nextToken () çağırıyormuş gibi) ve JsonToken ise, VALUE_NUMBER_INT 32 bitlik int değeri döndüren yöntem; aksi takdirde belirtilen varsayılan değeri döndürür İşlevsel olarak eşdeğerdir: |
60 | long nextLongValue(long defaultValue)- Sonraki belirteci (nextToken () çağırıyormuş gibi) ve JsonToken ise, VALUE_NUMBER_INT 64 bit uzunluğunda bir değer döndüren yöntem; aksi takdirde belirtilen varsayılan değeri döndürür İşlevsel olarak eşdeğerdir: |
61 | String nextTextValue()- Sonraki belirteci (nextToken () çağırıyormuş gibi) ve JsonToken ise VALUE_STRING, içerilen String değerini döndüren yöntem; aksi takdirde null döndürür. |
62 | abstract JsonToken nextToken() - Varsa, sonraki belirtecin türünü belirlemeye yetecek kadar akışı ilerletecek ana yineleme yöntemi. |
63 | abstract JsonToken nextValue() - Bir değer türü olan sonraki belirtecin türünü (JSON Dizisi ve Nesne başlangıç / bitiş işaretleyicileri dahil) belirlemeye yetecek kadar akışı ilerletecek yineleme yöntemi. |
64 | abstract void overrideCurrentName(String name) - Geçerli (alan) adı olarak kabul edilen adı değiştirmek için kullanılabilecek yöntem. |
65 | int readBinaryValue(Base64Variant b64variant, OutputStream out) - readBinaryValue (OutputStream) 'e benzer, ancak kullanılacak base64 değişkenini açıkça belirtmeye izin verir. |
66 | int readBinaryValue(OutputStream out) - Özellikle değer büyük olabildiğinde getBigIntegerValue () öğesine alternatif olarak kullanılabilen yöntem. |
67 | <T> T readValueAs(Class<T> valueType) - JSON içeriğini kapsayıcı olmayan bir türe dönüştürmeye yönelik yöntem (ancak bir dizi türü olabilir): tipik olarak bir fasulye, dizi veya bir sarmalayıcı türü (Boolean gibi). |
68 | <T> T readValueAs(TypeReference<?> valueTypeRef)- JSON içeriğini bir Java türüne serileştirme yöntemi, başvurunun bağımsız değişken olarak iletildiği yöntem. |
69 | <T extends TreeNode> T readValueAsTree() - JSON içeriğini, ortaya çıkan modelin kök TreeNode'u tarafından temsil edilen eşdeğer "ağaç modeli" olarak yeniden seri hale getirme yöntemi. |
70 | <T> Iterator<T> readValuesAs(Class<T> valueType) - Ayrıştırıcı akışından Nesnelerin sırasını okuma yöntemi, tümü aynı belirtilen değer türüne sahip. |
71 | <T> Iterator<T> readValuesAs(TypeReference<?> valueTypeRef)- Ayrıştırıcı akışından Nesnelerin sırasını okuma yöntemi, tümü aynı belirtilen değer türüne sahip. |
72 | int releaseBuffered(OutputStream out) - Ayrıştırıcı tarafından okunan ancak tüketilmeyen herhangi bir içeriği geri göndermek için çağrılabilen yöntem. |
73 | int releaseBuffered(Writer w) - Method that can be called to push back any content that has been read but not consumed by the parser. |
74 | boolean requiresCustomCodec() - Bu fabrika tarafından oluşturulan JsonParser kullanılarak ayrıştırılan verilerin bağlanması için özel bir ObjectCodec gerekip gerekmediğini belirlemek için çağrılabilen yöntem (bu genellikle JsonGenerator ile serileştirme için de aynı anlama gelir). |
75 | abstract void setCodec(ObjectCodec c) - Varsa, bu ayrıştırıcıyla ilişkili ObjectCodec'i tanımlamaya izin veren setter. |
76 | JsonParser setFeatureMask(int mask) - Tüm standart JsonParser durumlarının (yeniden) ayarlanması için toplu ayar yöntemi. |
77 | void setSchema(FormatSchema schema) - Bu ayrıştırıcının belirtilen şemayı kullanmasını sağlamak için arama yöntemi. |
78 | abstract JsonParser skipChildren() - Method that will skip all child tokens of an array or object token that the parser currently points to, iff stream points to JsonToken.START_OBJECT or JsonToken.START_ARRAY. |
79 | abstract Version version() - Ayrıştırıcı örneği verildiğinde, çekirdek paketin sürümünü almak için erişimci. |
Miras alınan yöntemler
Bu sınıf, yöntemleri aşağıdaki sınıflardan miras alır:
java.lang.Object