Klasa ObjectMapper w Jackson
Mapowanie obiektów jest jedną z najważniejszych klas dostępnych w Jacksona biblioteka. Służy do odczytu i zapisu danych JSON. Odpowiada za odczyt danych z i do pliku POJO oraz do i z modelu drzewa JSON.
Istnieją następujące cechy klasy ObjectMapper:
- Obsługuje zaawansowane koncepcje, takie jak Wielopostaciowość I Rozpoznawanie obiektów.
- Można go bardzo dostosować do pracy z różnymi stylami treści JSON.
- Działa jako fabryka zaliczki Czytnik obiektów I ObiektWriter zajęcia.
Klasę ObjectMapper deklaruje się w następujący sposób:
public class ObjectMapper extends ObjectCodec implements Versioned, Serializable
Klasy zagnieżdżone
Poniższa tabela definiuje klasy rozszerzające klasę ObjectMapper lub, można powiedzieć, klasy zagnieżdżone klasy ObjectMapper.
| Klasa | Opis |
|---|---|
| DefaultTypeResolverBuilder | To jest dostosowane Wpisz ResolverBuilder klasa, która jest używana do uzyskania konstruktorów rozpoznawania typów, z których możemy korzystać „pisanie domyślne”. |
| Domyślne pisanie | W celu określenia rodzaju typów stosuje się wyliczenia z metodą EnableDefaultTyping(). |
Przyjrzyjmy się teraz polom, konstruktorom i metodom klasy ObjectMapper:
Pola klasy ObjectMapper
protected DefaultDeserializationContext _deserializationContext
Jest to obiekt kontekstu planu, który jest przechowywany w celu umożliwienia tworzenia niestandardowych podklas.
protected DeserializationConfig _deserializationConfig
Jest to obiekt konfiguracyjny służący do definiowania podstawowych ustawień globalnych procesu deserializacji.
chroniona fabryka JsonFactory jsonFactory
Aby utworzyć instancję JsonParser i JsonGenerator, używana jest JsonFactory.
chronione InjectableValues _injectableValues
Jest to dostawca używany do wstrzykiwania wartości w deserializowanych obiektach POJO.
chronione ConfigOverrides _propertyOverrides
Służy do uzyskiwania dostępu do aktualnie aktywnych nadpisań konfiguracji według typu.
chroniony SimpleMixInResolver _mixIns
Jest to mapowanie używane do definiowania sposobu stosowania adnotacji mieszanych. Mapowanie odbywa się w następujący sposób:
Klucz: Wpisz, aby otrzymać dodatkowe adnotacje.
Wartość: Wpisz tekst z adnotacjami do „wmieszania”
chroniony zestaw _registeredModuleTypes
Jest to zestaw, który definiuje zestaw typów modułów, które zostały zarejestrowane.
chroniony SerializationConfig _serializationConfig
Jest to także obiekt konfiguracyjny, który służy do definiowania podstawowych ustawień globalnych procesu serializacji.
chroniony ConcurrentHashMap
Jest to mapa używana do śledzenia deserializatorów na poziomie głównym. Jest to mapa głównego poziomu.
chroniony SerializerFactory _serializerFactory
Jest to fabryka, która służy do konstruowania serializatorów.
chroniony SubtypeResolver _subtypeResolver
Służy do rejestrowania podtypów i w razie potrzeby rozwiązywania ich dla nadtypów/podtypów.
chroniona fabryka typów _typeFactory
Jest to fabryka służąca do tworzenia instancji JavaType. Są one wymagane, aby umożliwić modułom dodawanie większej liczby niestandardowych typów obsługi.
protected DefaultSerializerProvider _serializerProvider
Jest to obiekt odpowiedzialny za zarządzanie dostępem do serializatorów wykorzystywanych do serializacji.
chronione statyczne ustawienia podstawowe DEFAULT_BASE
Są to ustawienia podstawowe, które obejmują ustawienia domyślne używane dla wszystkich instancji ObjectMapper.
Konstruktory klasy ObjectMapper
Istnieją następujące konstruktory klasy ObjectMapper:
| Konstruktor | Opis |
|---|---|
| ObiektMapper() | Jest to domyślny konstruktor używany do konstruowania instancji korzystającej z wartości domyślnych JsonFactory, dostawca serializatorów, I Fabryka serializatorów fasoli. |
| ObjectMapper (fabryka JsonFactory) | Służy do konstruowania instancji korzystającej z danej fabryki JsonFactory. Podana fabryka JsonFactory służy do konstruowania JsonParsers i/lub Generatory Json. |
| ObjectMapper (fabryka JsonFactory, dostawca SerializerProvider1, dostawca DeserializerProvider2) | Służy do konstruowania instancji korzystającej z danego JsonFactory, dostawca serializatorów, I Dostawca deserializatora. Podana fabryka JsonFactory służy do konstruowania JsonParsers i/lub Generatory Json. |
| chroniony obiekt ObjectMapper (maper obiektu ObjectMapper) | Jest to konstruktor kopiujący obsługujący funkcję copy(). |
Metody klas ObjectMapper
Klasa ObjectMapper definiuje następujące metody:
| metoda | Typ zwrotu | Opis |
|---|---|---|
| _checkInvalidCopy (ekspert klasy) | próżnia | Służy do sprawdzania nieprawidłowej kopii. |
| _configAndWriteValue(JsonGenerator g, wartość obiektu) | próżnia | Służy do skonfigurowania generatora, jeśli jest to konieczne, a następnie wykonania funkcji zapisu. |
| _convert (obiekt z wartości, typ Java na typ wartości) | Obiekt | Służy do uzyskania rzeczywistej implementacji konwersji. Tutaj metody odczytu i zapisu nie są używane w kodzie. |
| _initForReading(JsonParser p) | JsonToken | Służy do sprawdzenia, czy dany parser jest gotowy do odczytania treści w celu powiązania danych, czy nie. |
| _findRootDeserializer(DeserializationContext ctxt, typ wartości JavaType) | JsonDeserializator | Jeśli chcemy zlokalizować deserializator dla przekazanej wartości poziomu głównego, używamy tej metody. |
| _newReader (konfiguracja deserializacji) Podobna metoda:
| Czytnik obiektów | Jest to metoda fabryczna, tj. używana do pobierania instancji ObjectReadera odpowiedniego podtypu. Aby skorzystać z tej metody, konieczne jest nadpisanie klas podrzędnych. |
| _newWriter (konfiguracja SerializationConfig) Podobne metody:
| ObiektWriter | Jest to metoda fabryczna, tj. używana do pobierania instancji ObjectWriter odpowiedniego podtypu. Aby skorzystać z tej metody, konieczne jest nadpisanie klas podrzędnych. |
| _readValue(DeserializationConfig cfg, JsonParser p, JavaType wartośćType) | Obiekt | Służy do pobrania obiektu definiującego odczyt wartości i operację wiązania. |
| _serializerProvider (konfiguracja SerializationConfig) | Domyślny dostawcaSerializerProvider | Jest to możliwa do przesłonięcia metoda pomocnicza używana do konstruowania SerializerProvider. |
| akceptowaćJsonFormatVisitor (typ klasy, gość JsonFormatVisitorWrapper) Podobna metoda:
| próżnia próżnia | Jeśli chcemy odwiedzić hierarchię typów określonego typu z określonym gościem, używamy tej metody. |
| addHandler(DeserializationProblemHandler h) | Mapowanie obiektów | Aby obsłużyć określone problemy podczas deserializacji, używamy określonego DeserializationProblemHandler, a aby dodać procedurę obsługi, używamy tej metody. |
| addMixIn(cel klasy, źródło miksowania klasy) | Mapowanie obiektów | Aby użyć adnotacji miksującej dla określonej klasy rozszerzającej lub interfejsu, używamy tej metody, aby ją dodać. |
| canDeserialize (typ JavaType) | Wartość logiczna | Służy do sprawdzania, czy program odwzorowujący może deserializować obiekt określonego typu, czy nie. |
| canDeserialize (typ JavaType, przyczyna AtomicReference) | Wartość logiczna | Jest podobny do poprzedniej metody. Jedyna różnica polega na tym, że może zwrócić obiekt do rzucania, który został rzucony w czasie konstruowania serializatora. Przedmiot do rzucania można wykorzystać do ustalenia rzeczywistego problemu. |
| canSerialize (typ klasy) | Wartość logiczna | Służy do sprawdzania, czy program odwzorowujący może serializować obiekt określonego typu, czy nie. |
| canSerialize (typ klasy, przyczyna AtomicReference) | Wartość logiczna | Jest podobny do poprzedniej metody. Jedyna różnica polega na tym, że może zwrócić obiekt do rzucania, który został rzucony w czasie konstruowania serializatora. Przedmiot do rzucania można wykorzystać do ustalenia rzeczywistego problemu. |
| wyczyśćProblemHandlers() | Mapowanie obiektów | Jest to jedna z metod używana do usuwania wszystkich zarejestrowanych instancji DeserializationProblemHandlers z modułu mapującego. |
| skonfiguruj (DeserializationFeature f, stan logiczny) podobne metody:
| Mapowanie obiektów | Służy do zmiany stanu włączania/wyłączania deserializacji, generatora Json, JsonParser, mappera lub funkcji serializacji dla narzędzia odwzorowującego obiekty, instancji generatora, instancji analizatora składni, instancji programu odwzorowującego lub narzędzia odwzorowującego obiekty. |
| typ konstrukcji (typ t) | Typ Java | Jeśli chcemy skonstruować JavaType z danego typu bez wyraźnego kontekstu, używamy tej metody. |
| konwertujWartość(Obiekt z Wartości, Klasa na Typ Wartości) Podobne metody:
| T | Jeżeli chcemy dokonać dwuetapowej konwersji danej wartości na instancję danego typu wartości, korzystamy z metody converValue(). |
| utwórz węzeł tablicy() | Węzeł tablicy | Służy do tworzenia ArrayNode. |
| domyślnaKlasaIntrospector() | Introspektor klasy | Jeśli chcemy użyć domyślnego ClassIntrospectora, do jego skonstruowania używamy tej metody pomocniczej Overridable. |
| wyłącz (funkcję DeserializacjiFeature) Podobne metody:
| Mapowanie obiektów | Służy do wyłączania danych DeserializationConfig, JsonGenerator.Features dla instancji parsera, JsonParser.Features dla instancji parsera modułu odwzorowującego obiekty. |
| wyłącz domyślne pisanie() | Mapowanie obiektów | Wielokrotnie musimy wyłączyć automatyczne dołączanie informacji o typie i w tym celu używamy tej metody. |
włącz (funkcja DeserializacjiFeature)
| Mapowanie obiektów | Służy do włączania danej DeserializationConfig, JsonGenerator.Features dla instancji analizatora składni, JsonParser.Features dla instancji parsera narzędzia odwzorowującego obiekty. |
| włącz domyślne pisanie() Podobne metody:
| Mapowanie obiektów | Aby skorzystać z automatycznego dołączania informacji o typie do deserializacji typów polimorficznych, używamy tej metody, aby to włączyć. |
| findAndRegisterModules() | Mapowanie obiektów | Jest ona podobna do metody mapper.registerModules(mapper.findModules()). |
| findModules() Podobne metody:
| Lista | Służy do lokalizowania dostępnych metod. Metoda wykorzystuje funkcję JDK ServiceLoader z SPI dostarczanym przez moduł. |
| getDateFormat() | Format daty | Służy do uzyskania formatu daty. |
| getDeserializationConfig() | Konfiguracja deserializacji | Służy do pobrania udostępnionego domyślnego obiektu DeserializationConfig. Zwrócony obiekt definiuje ustawienia konfiguracyjne deserializacji. |
| pobierzDeserializationContext() | Kontekst deserializacji | Służy do pobrania bieżącego DeseriizationContext. |
| pobierz fabrykę() | Fabryka Jsona | Jeśli osoba mapująca musi skonstruować parser i generatory Jsona, potrzebuje fabryki json i aby to uzyskać, używamy metody getFactory(). |
| getInjectableValues() | Wartości do wstrzykiwania | Służy do uzyskiwania wartości do wstrzykiwania. |
| pobierzJsonFactory() | Fabryka Jsona | Jest to przestarzała metoda uzyskania fabryki Json. |
| getNodeFactory() | Fabryka JsonNode | Służy do pobrania JsonNodeFactory, która jest używana przez osobę odwzorowującą w czasie bezpośredniego konstruowania głównych instancji JsonNode dla drzew. |
| getPropertyNamingStrategy() | Strategia nazewnictwa właściwości | Jak sama nazwa wskazuje, służy do strategii nazewnictwa nieruchomości. |
| pobierzSerializationConfig() | Konfiguracja serializacji | Służy do pobrania udostępnionego domyślnego obiektu SerializationConfig. Zwrócony obiekt definiuje ustawienia konfiguracyjne dla serializacji. |
| pobierzSerializerFactory() | Fabryka serializatorów | Służy do pobrania bieżącej fabryki SerializerFactory. |
| getSerializerProvider() | Dostawca serializatora | Jest to akcesor do fabryki, który służy do tworzenia instancji poprzez wywołanie DefaultSerializerProvider.createInstance(SerializationConfig, SerializerFactory). |
| getSerializerProviderInstance() | Dostawca serializatora | Jest to akcesor używany do konstruowania i zwracania instancji SerializerProvider, której możemy użyć, aby uzyskać dostęp do serializatorów. |
| getSubtypeResolver() | PodtypResolver | Służy do uzyskiwania dostępu do używanego mechanizmu rozpoznawania podtypów. |
| getTypeFactory() | TypFabryczny | Jest to akcesor używany do pobrania instancji aktualnie skonfigurowanej fabryki TypeFactory. |
| getVisibilityChecker() | Kontroler widoczności | Służy do uzyskania dostępu do aktualnie skonfigurowanego modułu sprawdzania widoczności. |
| isEnabled (Funkcja deserializacji f) Podobne metody:
| Wartość logiczna | Metoda isEnable() i jej odmiany służą do sprawdzania, czy dana funkcja specyficzna dla deserializacji, JsonFactory, JsonGenerator, JsonParser, Mapper lub Serialization jest włączona, czy nie. |
| mixInCount() | wew | Służy do uzyskania liczby mixIn. |
| czytelnik() Podobne metody:
| Czytnik obiektów | Metoda reader() i jej odmiany to metody fabryczne używane do konstruowania instancji ObjectReadera. W oparciu o wymagania możemy przekazać wariant kodowania Base64 dla danych binarnych zakodowanych w Base64, atrybuty domyślne, włączone funkcje, wartości do wstrzykiwania, JsonNodeFactory do konstruowania drzew JSON. |
| readerFor (typ klasy) | Czytnik obiektów | Jest to metoda fabryczna używana do konstruowania ObjectReadera, umożliwiająca operacje odczytu lub aktualizacji dla instancji określonego typu. |
| readerFor (typ JavaType) | Czytnik obiektów | Jest to metoda fabryczna używana do konstruowania ObjectReadera, umożliwiająca operacje odczytu lub aktualizacji dla instancji określonego typu JavaType. |
| readerFor (typ referencyjny typu) | Czytnik obiektów | Jest to metoda fabryczna służąca do konstruowania ObjectReadera, umożliwiająca operacje odczytu lub aktualizacji dla instancji danego TypeReference. |
| readerForUpdating (wartość obiektuToUpdate) | Czytnik obiektów | Jest to metoda fabryczna służąca do konstruowania ObjectReadera umożliwiająca operacje aktualizacji dla danego obiektu. |
| readerWithView (widok klasy) | Czytnik obiektów | Jest to metoda fabryczna używana do konstruowania ObjectReadera, pozwalająca deserializacja obiektów z danym widokiem JSON. |
readTree (bajt [] zawartość)
| JsonNode LUB T | Funkcja readTree() i jej odmiany służą do deserializacji zawartości JSON w postaci drzewa wyrażonego przy użyciu zestawu instancji JsonNode. |
| readValue(bajt[] src, typ wartości klasy) Podobne metody
| T LUB MapowanieIteratora | Funkcja readValue() i jej odmiany służą do deserializacji treści JSON
|
| readValues(JsonParser p, typ wartości klasy) Podobne metody:
| MapowanieIteratora | Funkcja readValues() i jej odmiany służą do odczytywania sekwencji obiektów ze strumienia parsera. |
| RegisterModule(moduł modułu) Podobne metody:
| Mapowanie obiektów | Funkcja RegisterModule() i jej odmiany służą do rejestrowania modułu mającego możliwość rozszerzenia funkcjonalności zapewnianej przez narzędzie mapujące. |
| RegisterSubtypes(NamedType... typy) | próżnia | Służy do zarejestrowania danej klasy jako podtypu. W ten sposób rozpoznawanie typów na podstawie nazw może łączyć nadtypy z podtypami. |
| setAnnotationIntrospector(AnnotationIntrospector ai) | Mapowanie obiektów | Służy do ustawiania AnnotationIntrospector, który jest używany przez instancję mapującą zarówno do serializacji, jak i deserializacji. |
| setAnnotationIntrospectors(AdnotacjaIntrospector serializerAI, AnnotationIntrospector deserializerAI) | Mapowanie obiektów | Służy do zmiany instancji AnnotationIntrospector używanej przez bieżącą instancję programu mapującego do serializacji i deserializacji. |
| setBase64Variant(Base64Variant v) | Mapowanie obiektów | Służy do skonfigurowania domyślnego Base64Variant, który będzie używany przez serializatory i deserializatory byte[]. |
| setConfig (konfiguracja deserializacji) | Mapowanie obiektów | Aby wykonać zastąpienie podstawowego obiektu DeserializationConfig, używamy tej metody. |
| setConfig (konfiguracja SerializationConfig) | Mapowanie obiektów | Aby wykonać zastąpienie podstawowego obiektu SerializationConfig mającego ustawienia konfiguracyjne specyficzne dla serializacji, używamy tej metody. |
| setDateFormat(Format datyFormat daty) | Mapowanie obiektów | Służy do skonfigurowania domyślnego formatu DateFormat do użycia go podczas serializacji wartości czasu jako ciągów znaków lub deserializacji z ciągów JSON. |
| setDefaultPrettyPrinter (PrettyPrinter pp) | Mapowanie obiektów | Służy do określenia PrettyPrinter, która ma być używana, gdy włączone jest „domyślne ładne drukowanie”. |
| setDefaultTyping (program do pisania TypeResolverBuilder) | Mapowanie obiektów | Służy do umożliwienia automatycznego dołączenia informacji o typie. |
| setHandlerInstantiator(HandlerInstantiator cześć) | Obiekt | Służy do konfigurowania programu HandlerInstantiator do tworzenia instancji programów obsługi. |
| setFilterProvider(DostawcaFilterDostawca filterDostawca) | Mapowanie obiektów | Służy do konfigurowania bieżącego programu odwzorowującego do używania określonego dostawcy FilterProvider do mapowania identyfikatorów filtrów na rzeczywiste instancje filtrów. |
| setInjectableValues(InjectableValues injectableValues) | Mapowanie obiektów | Służy do konfigurowania wartości InjectableValues, które służą do wyszukiwania wartości do wstrzyknięcia. |
| setLocale(Local l) | Mapowanie obiektów | Służy do zastąpienia domyślnych ustawień regionalnych używanych do formatowania. |
| setMixInResolver (rozwiązanie ClassIntrospector.MixInResolver) | Mapowanie obiektów | Używamy tej metody do określenia danego mechanizmu rozpoznawania nazw w celu zlokalizowania klas mieszanych do użycia, zastępując bezpośrednio dodane mapowania. |
| setMixInAnnotations (Mapa | próżnia | Jest to amortyzowana metoda definiowania adnotacji mieszanych. |
| setNodeFactory(JsonNodeFactory f) | Mapowanie obiektów | Służy do określenia JsonNodeFactory, który ma być używany do konstruowania węzłów drzewa na poziomie głównym. |
| setMixIns (mapa | Mapowanie obiektów | Służy do definiowania adnotacji mieszanych, które mają być używane do rozszerzania adnotacji, które mają przetwarzalne klasy. |
| setPropertyInclusion(JsonInclude.Value włącznie) | Mapowanie obiektów | Służy do ustawienia domyślnej strategii włączania właściwości POJO do serializacji. |
| setPropertyNamingStrategy(PropertyNamingStrategy s) | Mapowanie obiektów | Służy do ustawiania używanej strategii nazewnictwa właściwości niestandardowych. |
| setSerializerFactory(SerializerFactory f) | Mapowanie obiektów | Służy do ustawiania określonej fabryki SerializerFactory, która ma być używana do konstruowania serializatorów (fasonu). |
| setSerializerProvider (DefaultSerializerProvider p) | Mapowanie obiektów | Służy do ustawiania instancji SerializerProvider „planu” w celu użycia jej jako podstawy rzeczywistych instancji dostawcy do obsługi buforowania instancji JsonSerializer. |
| setSubtypeResolver (str) | Mapowanie obiektów | Służy do ustawiania niestandardowego mechanizmu rozpoznawania podtypów, który ma być używany. |
| setTimeZone(TimeZone tz) | Mapowanie obiektów | Służy do zastąpienia domyślnej strefy czasowej używanej do formatowania. |
| setTypeFactory(TypeFactory f) | Mapowanie obiektów | Służy do przesłaniania instancji TypeFactory, która jest używana przez bieżący program mapujący. |
setVisibility(PropertyAccessor forMethod, JsonAutoDetect.Widoczność widoczności)
| Mapowanie obiektów | Funkcja setVisibility() i jej odmiana służą do ustawiania aktualnie skonfigurowanego modułu sprawdzania widoczności. Zwrócona instancja ObjectMapper służy do sprawdzenia, czy dany element właściwości może zostać automatycznie wykryty, czy nie. |
| drzewoAsTokens(TreeNode n) | JsonParser | Służy do konstruowania JsonParser z reprezentacji drzewa JSON. |
| TreeToValue(TreeNode n, typ wartości klasy) | T | Służy do powiązania danych zawartych w drzewie JSON z określonym typem wartości. |
| wersja() | Wersja | Służy do pobierania informacji o wersji przechowywanej i odczytywanej ze słoika zawierającego tę klasę. |
pisarz()
| ObiektWriter | Funkcja write() i jej odmiany są używane do konstruowania ObjectWriter z ustawieniami domyślnymi, biorąc pod uwagę wariant kodowania Base64 dla danych binarnych zakodowanych w Base64, szczegóły dotyczące zmiany znaków na wyjściu, atrybuty domyślne, DateFormat, dostawcę filtra, obiekt schematu do JsonGenerator używany do zapisywania treści, ładna drukarka do wcięć lub z włączoną funkcją. |
| pisarzFor(Rodzaj typu klasy) - | ObiektWriter | Służy do konstruowania obiektu ObjectWriter w celu serializacji obiektów przy użyciu określonego typu głównego zamiast rzeczywistego typu wartości środowiska wykonawczego. |
| pisarzFor(RootType JavaType) | ObiektWriter | Służy do konstruowania obiektu ObjectWriter w celu serializacji obiektów przy użyciu określonego typu głównego zamiast rzeczywistego typu wartości środowiska wykonawczego. |
| pisarzFor(TypeReference rootType) | ObiektWriter | Służy do konstruowania obiektu ObjectWriter w celu serializacji obiektów przy użyciu określonego typu głównego zamiast rzeczywistego typu wartości środowiska wykonawczego. |
| pisarzWithDefaultPrettyPrinter() | ObiektWriter | Jest to metoda fabryczna używana do konstruowania narzędzia ObjectWriter do serializacji obiektów przy użyciu całkiem domyślnej drukarki do wcięć. |
pisarzWithType (typ root klasy)
| ObiektWriter | Metody te są amortyzowane i zamiast nich używamy metody writeFor(TypeReference). |
| pisarzWithView (widok serializacji klasy) | ObiektWriter | Jest to metoda fabryczna używana do konstruowania obiektu ObjectWriter do serializacji obiektów przy użyciu określonego widoku JSON. |
| writeTree(JsonGenerator jgen, JsonNode rootNode) | próżnia | Służy do serializacji dostarczonego drzewa JSON przy użyciu danego JsonGenerator. |
| writeValue(Plik wynikowy, Wartość obiektu) | próżnia | Służy do serializacji wartości Java jako wyjścia JSON i zapisania jej do podanego plik. |
| writeValue(JsonGenerator g, wartość obiektu). | próżnia | Służy do serializacji wartości Java jako danych wyjściowych JSON przy użyciu podanego JsonGenerator. |
| writeValue(OutputStream out, wartość obiektu) | próżnia | Służy do serializacji wartości Java jako danych wyjściowych JSON przy użyciu podanego Strumień wyjściowy. |
| writeValue(Writer w, Wartość obiektu) | próżnia | Służy do serializacji wartości Java jako danych wyjściowych JSON przy użyciu podanego Pisarz. |
| writeValueAsBytes (wartość obiektu) | bajt[] | Służy do serializacji wartości Java jako tablicy bajtów. |
| writeValueAsString (wartość obiektu) | Strunowy | Służy do serializacji wartości Java jako ciągu znaków. |
JacksonExample.java
//import required classes and package if any package javaTpoint.Jackson; import java.io.IOException; import java.util.List; import com.fasterxml.jackson.core.JsonParseException; import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.ObjectMapper; //create class JacksonExample to understand implementation of Jackson public class JacksonExample { // main() method start public static void main(String args[]){ // create an instance of ObjectMapper class ObjectMapper mapper = new ObjectMapper(); // create a JSON string of employee details to deserilized object String stdString = '{
'students' : [
{
'stdId':'001',
'course':'MCA','+'
'firstName':'Nicholas',
'lastName':'Clemens',
'preferredFullName':'Nicholas Clemens','+'
'enrol':'S010',
'region':'indian',
'phoneNumber':'408-1234567',
'emailAddress''+':'[email protected]'
},
{
'stdId':'002',
'course':'BCA','+'
'firstName':'Sharon',
'lastName':'Lorenz',
'preferredFullName':'Sharon Lorenz','+'
'enrol':'S011',
'region':'indian',
'phoneNumber':'408-1111111',
'emailAddress''+':'[email protected]'
},
{
'stdId':'003',
'course':'Btech','+'
'firstName':'Brittany',
'lastName':'Hart',
'preferredFullName':'Brittany Hart',
''+'enrol':'S012',
'region':'indian',
'phoneNumber':'408-2222222',
'emailAddress':'[email protected]'
}
]
}'; try{ // use ObjectMapper for mapping JSON to Student Students students = mapper.readValue(stdString, Students.class); // print students System.out.println(students); // serialize students into json string stdString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(students); System.out.println(stdString); }catch (JsonParseException e) { e.printStackTrace(); }catch (JsonMappingException e) { e.printStackTrace(); }catch (IOException e) { e.printStackTrace(); } } } //create Students class class Students { public List students; // getter and setter public List getStudent() { return students; } public void setStudent(List students) { this.students = students; } } class Student { // declare variables private String stdId; private String course; private String firstName; private String lastName; private String preferredFullName; private String enrol; private String region; private String phoneNumber; private String emailAddress; public Student(){ } // getter/setters for all variables public String getStdId() { return stdId; } public void setStdId(String stdId) { this.stdId = stdId; } public String getCourse() { return course; } public void getCourse(String course) { this.course = course; } public String getFirstName() { return firstName; } public void setFirstName(String firstName) { this.firstName = firstName; } public String getLastName() { return lastName; } public void setLastName(String lastName) { this.lastName = lastName; } public String getPreferredFullName() { return preferredFullName; } public void setPreferredFullName(String preferredFullName) { this.preferredFullName = preferredFullName; } public String getEnrol() { return enrol; } public void setEnrol(String enrol) { this.enrol = enrol; } public String getRegion() { return region; } public void setRegion(String region) { this.region = region; } public String getPhoneNumber() { return phoneNumber; } public void setPhoneNumber(String phoneNumber) { this.phoneNumber = phoneNumber; } public String getEmailAddress() { return emailAddress; } public void setEmailAddress(String emailAddress) { this.emailAddress = emailAddress; } public String toString(){ return 'Employee [ Student Id: '+stdId+', Course: '+course+ '' + ', First Name: '+firstName+ ', Last Name: '+lastName+ '' + ', Name: '+preferredFullName+ ', Enrol No: '+enrol+ '' + ', Region: '+region+ ', Phone Number: '+phoneNumber+ '' + ', Email Address: '+emailAddress+ ' ]'; } } Wyjście: