ObjectMapper-luokka Jacksonissa
ObjectMapper on yksi tärkeimmistä saatavilla olevista luokista Jackson kirjasto. Sitä käytetään JSON-tietojen lukemiseen ja kirjoittamiseen. Se on vastuussa tietojen lukemisesta POJO-tiedostosta tai JSON-puumalliin ja sieltä pois.
ObjectMapper-luokassa on seuraavat ominaisuudet:
- Se tukee edistyneitä konsepteja, kuten Polymorfismi ja Objektin tunnistus.
- Se on hyvin muokattavissa työskentelemään erilaisten JSON-sisällön tyylien kanssa.
- Se toimii ennakkoon tehtaana ObjectReader ja ObjectWriter luokat.
ObjectMapper-luokka ilmoitetaan seuraavalla tavalla:
public class ObjectMapper extends ObjectCodec implements Versioned, Serializable
Sisäkkäiset luokat
Seuraavassa taulukossa määritellään luokat, jotka laajentavat ObjectMapper-luokkaa tai vaikkapa ObjectMapper-luokan sisäkkäiset luokat.
| Luokka | Kuvaus |
|---|---|
| DefaultTypeResolverBuilder | Se on räätälöity TypeResolverBuilder luokkaa, jota käytetään hankkimaan tyyppiselvitystyökalut, joita voimme käyttää 'oletuskirjoitus'. |
| Oletuskirjoitus | Tyyppien määrittämiseksi luetteloita käytetään enableDefaultTyping()-metodin kanssa. |
Ymmärretään nyt ObjectMapper-luokan kentät, rakentajat ja menetelmät:
ObjectMapper-luokan kentät
protected DefaultDeserializationContext _deserializationContext
Se on suunnitelmakontekstiobjekti, joka on tallennettu mukautettujen alaluokkien sallimista varten.
protected DeserializationConfig _deserializationConfig
Se on konfigurointiobjekti, jota käytetään määrittämään yleiset perusasetukset sarjanpoistoprosessille.
suojattu JsonFactory jsonFactory
JsonParser- ja JsonGenerator-esiintymän luomiseen käytetään JsonFactorya.
suojattu InjectableValues _injectableValues
Se on palveluntarjoaja, jota käytetään arvojen lisäämiseen sarjattomiin POJO-tiedostoihin.
suojattu ConfigOverrides _propertyOverrides
Sitä käytetään tällä hetkellä aktiivisten tyyppikohtaisten konfiguraatioiden ohittamiseen.
suojattu SimpleMixInResolver _mixIns
Se on kartoitus, jota käytetään määrittelemään tapa käyttää sekoitusmerkintöjä. Kartoitus tehdään seuraavalla tavalla:
Avain: Kirjoita saadaksesi lisämerkintöjä.
Arvo: Tyyppi, jossa on merkintöjä 'sekoitettaviksi'
suojattu Aseta _registeredModuleTypes
Se on joukko, joka määrittää rekisteröityjen moduulityyppien joukon.
suojattu SerializationConfig _serializationConfig
Se on myös konfigurointiobjekti, jota käytetään määrittämään serialisointiprosessin yleiset perusasetukset.
suojattu ConcurrentHashMap
Se on kartta, jota käytetään seuraamaan juuritason sarjan poistajia. Se on päätason kartta.
suojattu SerializerFactory _serializerFactory
Se on tehdas, jota käytetään sarjasoittimien rakentamiseen.
suojattu SubtypeResolver _subtypeResolver
Sitä käytetään alatyyppien rekisteröimiseen ja niiden ratkaisemiseen super-/alatyypeille tarpeen mukaan.
suojattu TypeFactory _typeFactory
Se on tehdas, jota käytetään JavaType-esiintymien luomiseen. Niitä tarvitaan, jotta moduulit voivat lisätä mukautetun tyypin käsittelyä.
protected DefaultSerializerProvider _serializerProvider
Se on objekti, joka vastaa sarjoitukseen käytettävien serialisoijien pääsyn hallinnasta.
suojattu staattinen BaseSettings DEFAULT_BASE
Se on perusasetukset, jotka sisältävät oletusarvot, joita käytetään kaikissa ObjectMapper-esiintymissä.
ObjectMapper-luokan rakentajat
ObjectMapper-luokassa on seuraavat rakentajat:
| Rakentaja | Kuvaus |
|---|---|
| ObjectMapper() | Se on oletuskonstruktori, jota käytetään oletusarvoa käyttävän ilmentymän rakentamiseen JsonFactory, SerializerProvider, ja BeanSerializerFactory. |
| ObjectMapper (JsonFactory tehdas) | Sitä käytetään esiintymän rakentamiseen, joka käyttää annettua JsonFactorya. Rakentamiseen käytetään annettua JsonFactorya JsonParserit ja tai JsonGenerators. |
| ObjectMapper (JsonFactory-tehdas, SerializerProvider-toimittaja1, DeserializerProvider-tarjoaja2) | Sitä käytetään instanssin rakentamiseen, joka käyttää annettua JsonFactory, SerializerProvider, ja DeserializerProvider. Rakentamiseen käytetään annettua JsonFactorya JsonParserit ja tai JsonGenerators. |
| suojattu ObjectMapper (ObjectMapper-kartoittaja) | Se on kopio-konstruktori, joka tukee copy(t). |
ObjectMapper-luokkamenetelmät
ObjectMapper-luokka määrittelee seuraavat menetelmät:
| Menetelmä | Palautustyyppi | Kuvaus |
|---|---|---|
| _checkInvalidCopy(luokan exp) | mitätön | Sitä käytetään virheellisen kopion tarkistamiseen. |
| _configAndWriteValue(JsonGenerator g, objektin arvo) | mitätön | Sitä käytetään generaattorin konfigurointiin tarvittaessa ja sen jälkeen kirjoitustoiminnon suorittamiseen. |
| _convert(Objekti arvosta, JavaType arvotyypiksi) | Esine | Sitä käytetään todellisen muunnostoteutuksen saamiseen. Tässä koodissa ei käytetä luku- ja kirjoitusmenetelmiä. |
| _initForReading(JsonParser p) | JsonToken | Sen avulla varmistetaan, onko annettu jäsentäjä valmis lukemaan sisältöä tiedon sitomista varten vai ei. |
| _findRootDeserializer(DeserializationContext ctxt, JavaType valueType) | JsonDeserializer | Jos haluamme paikantaa serialisoinnin poistajan, käytämme tätä menetelmää siirretylle juuritason arvolle. |
| _newReader(DeserializationConfig config) Samanlainen menetelmä:
| ObjectReader | Se on tehdasmenetelmä, eli sitä käytetään oikean alatyypin ObjectReader-esiintymien hankkimiseen. Tämän menetelmän käyttämiseksi on välttämätöntä, että alaluokat ohittavat. |
| _newWriter(SerializationConfig config) Samanlaiset menetelmät:
| ObjectWriter | Se on tehdasmenetelmä, eli sitä käytetään oikean alatyypin ObjectWriter-esiintymien hankkimiseen. Tämän menetelmän käyttämiseksi on välttämätöntä, että alaluokat ohittavat. |
| _readValue(DeserializationConfig cfg, JsonParser p, JavaType valueType) | Esine | Sitä käytetään saamaan objekti, joka määrittää arvonlukemisen ja sidontatoiminnon. |
| _serializerProvider(SerializationConfig config) | DefaultSerializerProvider | Se on ohitettava apumenetelmä, jota käytetään SerializerProviderin rakentamiseen. |
| acceptJsonFormatVisitor(luokkatyyppi, JsonFormatVisitorWrapper-vierailija) Samanlainen menetelmä:
| mitätön mitätön | Jos haluamme vierailla tietyn tyypin tyyppihierarkiassa määritetyn vierailijan kanssa, käytämme tätä menetelmää. |
| addHandler(DeserializationProblemHandler h) | ObjectMapper | Jotta voimme käsitellä määritettyjä ongelmia sarjan purkamisen aikana, käytämme määritettyä DeserializationProblemHandleria ja käsittelijän lisäämiseen käytämme tätä menetelmää. |
| addMixIn(luokan kohde, luokan miksauslähde) | ObjectMapper | Jos haluat käyttää sekoitusmerkintää tietylle lisäluokalle tai rajapinnalle, lisäämme sen tällä menetelmällä. |
| canDeserialize (JavaType-tyyppi) | Boolean | Sitä käytetään tarkistamaan, pystyykö kartoittaja purkaa tietyn tyyppisen objektin sarjan vai ei. |
| canDeserialize (JavaType-tyyppi, AtomicReference-syy) | Boolean | Se on samanlainen kuin edellinen menetelmä. Ainoa ero on, että se voi palauttaa heitettävyyden, joka heitettiin sarjasoittimen rakentamisen aikana. Heitettävää voidaan käyttää todellisen ongelman selvittämiseen. |
| voi serialoida (luokkatyyppi) | Boolean | Sitä käytetään tarkistamaan, pystyykö kartoittaja sarjoittamaan tietyn tyyppisen kohteen vai ei. |
| voiSerialize (luokkatyyppi, AtomicReference-syy) | Boolean | Se on samanlainen kuin edellinen menetelmä. Ainoa ero on, että se voi palauttaa heitettävyyden, joka heitettiin sarjasoittimen rakentamisen aikana. Heitettävää voidaan käyttää todellisen ongelman selvittämiseen. |
| clearProblemHandlers() | ObjectMapper | Se on yksi menetelmistä, jota käytetään poistamaan kaikki DeserializationProblemHandlers-esiintymät kartoittajasta, jotka on rekisteröity. |
| configure(deserializationFeature f, boolen tila) samanlaiset menetelmät:
| ObjectMapper | Sitä käytetään päälle/pois serialisoinnin, Json Generatorin, JsonParserin, Mapperin tai Serialization-ominaisuuden tilan muuttamiseen objektikartoittimelle, generaattoriinstanssille, jäsentimen ilmentymälle, kartoitusinstanssille tai objektikartoittajalle. |
| rakennetyyppi(tyyppi t) | Java-tyyppi | Jos haluamme rakentaa JavaType:n tietystä tyypistä ilman nimenomaista kontekstia, käytämme tätä menetelmää. |
| convertValue(objekti arvosta, luokka arvotyypiksi) Samanlaiset menetelmät:
| T | Jos haluamme tehdä tietyn arvon kaksivaiheisen muunnoksen tietyn arvotyypin esiintymäksi, käytämme converValue()-menetelmää. |
| createArrayNode() | ArrayNode | Sitä käytetään ArrayNoden luomiseen. |
| defaultClassIntrospector() | ClassIntrospector | Jos haluamme käyttää oletusarvoista ClassIntrospectoria, käytämme tätä Overridable helper -menetelmää sen rakentamiseen. |
| poista käytöstä (Deserialization Feature -ominaisuus) Samanlaiset menetelmät:
| ObjectMapper | Sitä käytetään poistamaan käytöstä tietyt DeserializationConfig, JsonGenerator.Features jäsennysinstanssien osalta ja JsonParser.Features objektikartoittajan jäsennysinstanssien osalta. |
| disableDefaultTyping() | ObjectMapper | Usein meidän on poistettava käytöstä tyyppitietojen automaattinen sisällyttäminen, ja tätä tarkoitusta varten käytämme tätä menetelmää. |
ota käyttöön (Deserialization Feature -ominaisuus)
| ObjectMapper | Sitä käytetään ottamaan käyttöön tietty DeserializationConfig, JsonGenerator.Features jäsennysinstanssille ja JsonParser.Features objektikartoittajan jäsennysinstanssille. |
| otaDefaultTyping() käyttöön Samanlaiset menetelmät:
| ObjectMapper | Käytämme tätä menetelmää, jotta voimme käyttää tyyppitietojen automaattista sisällyttämistä polymorfisten tyyppien sarjan poistamiseen. |
| findAndRegisterModules() | ObjectMapper | Se on samanlainen kuin menetelmä mapper.registerModules(mapper.findModules()). |
| etsi moduulit() Samanlaiset menetelmät:
| Lista | Sitä käytetään käytettävissä olevien menetelmien etsimiseen. Menetelmä käyttää JDK ServiceLoader -toimintoa moduulin tarjoaman SPI:n kanssa. |
| getDateFormat() | Päivämäärämuoto | Sitä käytetään päivämäärän muodon saamiseksi. |
| getDeserializationConfig() | DeserializationConfig | Sitä käytetään jaetun DeserializationConfig-oletusobjektin hankkimiseen. Palautettu objekti määrittää sarjan purkamisen kokoonpanoasetukset. |
| getDeserializationContext() | DeserializationContext | Sitä käytetään nykyisen DeserializationContextin saamiseksi. |
| getFactory() | JsonFactory | Jos kartoittajan on rakennettava Json-jäsennin ja generaattorit, se tarvitsee json factoryn, ja sen saamiseksi käytämme getFactory()-menetelmää. |
| getInjectableValues() | Injectable Values | Sitä käytetään injektoitavien arvojen saamiseksi. |
| getJsonFactory() | JsonFactory | Se on vanhentunut tapa saada Json-tehdas. |
| getNodeFactory() | JsonNodeFactory | Sitä käytetään hankkimaan JsonNodeFactory, jota kartoittaja käyttää juuri JsonNode-instanssien suoraan rakentamisen aikana puille. |
| getPropertyNamingStrategy() | PropertyNamingStrategy | Kuten nimestä voi päätellä, se on tottunut kiinteistön nimeämisstrategiaan. |
| getSerializationConfig() | SerializationConfig | Sitä käytetään jaetun SerializationConfig-oletusobjektin hankkimiseen. Palautettu objekti määrittää konfigurointiasetukset sarjoitusta varten. |
| getSerializerFactory() | Serializer Factory | Sitä käytetään nykyisen SerializerFactoryn hankkimiseen. |
| getSerializerProvider() | SerializerProvider | Se on tehtaan apuohjelma, jota käytetään esiintymien luomiseen kutsumalla DefaultSerializerProvider.createInstance(SerializationConfig, SerializerFactory). |
| getSerializerProviderInstance() | SerializerProvider | Se on apuohjelma, jota käytetään luomaan ja palauttamaan SerializerProvider-esiintymä, jota voimme käyttää serialisoijien käyttöön. |
| getSubtypeResolver() | AlatyyppiResolver | Sitä käytetään käytettävän alatyypin selvittimen käyttämiseen. |
| getTypeFactory() | TyyppiTehdas | Se on apuohjelma, jota käytetään tällä hetkellä määritetyn TypeFactoryn esiintymän hankkimiseen. |
| getVisibilityChecker() | VisibilityChecker | Sitä käytetään tällä hetkellä määritettyyn näkyvyyden tarkistukseen pääsyyn. |
| isEnabled(Deserialization Feature f) Samanlaiset menetelmät:
| Boolean | IsEnable()-menetelmää ja sen muunnelmia käytetään tarkistamaan, onko tietty sarjoitusta koskeva JsonFactory-, JsonGenerator-, JsonParser-, Mapper- tai Serialization-ominaisuus käytössä vai ei. |
| mixInCount() | int | Sitä käytetään mixIn-määrän laskemiseen. |
| lukija() Samanlaiset menetelmät:
| ObjectReader | Reader()-menetelmä ja sen muunnelmat ovat tehdasmenetelmiä, joita käytetään ObjectReaderin esiintymän rakentamiseen. Vaatimuksen perusteella voimme välittää Base64-koodausmuunnelman Base64-koodatuille binääritiedoille, oletusattribuutit, ominaisuudet käytössä, injektoitavat arvot, JsonNodeFactory JSON-puiden rakentamiseen. |
| ReaderFor (luokkatyyppi) | ObjectReader | Se on tehdasmenetelmä, jota käytetään ObjectReaderin rakentamiseen ja sallii luku- tai päivitystoiminnot määritetyn tyyppisille ilmentymille. |
| ReaderFor (JavaType-tyyppi) | ObjectReader | Se on tehdasmenetelmä, jota käytetään ObjectReaderin rakentamiseen, mikä mahdollistaa luku- tai päivitystoiminnot määritetyille JavaType-esiintymille. |
| ReaderFor(TypeReference-tyyppi) | ObjectReader | Se on tehdasmenetelmä, jota käytetään ObjectReaderin rakentamiseen, mikä mahdollistaa luku- tai päivitystoiminnot tietyille TypeReference-esiintymille. |
| ReadForUpdating(Object valueToUpdate) | ObjectReader | Se on tehdasmenetelmä, jota käytetään ObjectReaderin rakentamiseen, mikä mahdollistaa tietyn objektin päivitystoiminnot. |
| ReaderWithView (luokkanäkymä) | ObjectReader | Se on tehdasmenetelmä, jota käytetään ObjectReaderin rakentamiseen, mikä mahdollistaa objektien sarjojen purkaminen tietyllä JSON-näkymällä. |
readTree(tavu[] sisältö)
| JsonNode TAI T | ReadTree()-funktiota ja sen muunnelmia käytetään JSON-sisällön sarjojen purkamiseen puuna, joka ilmaistaan käyttämällä JsonNode-esiintymien joukkoa. |
| lukuarvo(tavu[] src, luokan arvotyyppi) Samanlaisia menetelmiä
| T TAI MappingIterator | ReadValue()-funktiota ja sen muunnelmia käytetään JSON-sisällön sarjojen poistamiseen
|
| readValues (JsonParser p, Class valueType) Samanlaiset menetelmät:
| MappingIterator | ReadValues()-funktiota ja sen muunnelmia käytetään objektijonojen lukemiseen jäsennysvirrasta. |
| registerModule (Moduulimoduuli) Samanlaiset menetelmät:
| ObjectMapper | RegisterModule() ja sen muunnelmia käytetään rekisteröimään moduuli, jolla on kyky laajentaa kartoittajan tarjoamia toimintoja. |
| registerSubtypes (NamedType... -tyypit) | mitätön | Sitä käytetään rekisteröimään annettu luokka alatyypiksi. Näin tekemällä tyypin nimiin perustuva resoluutio voi linkittää supertyyppejä alatyyppeihin. |
| setAnnotationIntrospector(AnnotationIntrospector ai) | ObjectMapper | Sitä käytetään AnnotationIntrospectorin asettamiseen, jota kartoitusinstanssi käyttää sekä sarjoitukseen että sarjan poistamiseen. |
| setAnnotationIntrospectors(AnnotationIntrospector serializerAI, AnnotationIntrospector deserializerAI) | ObjectMapper | Sitä käytetään muuttamaan AnnotationIntrospector-instanssia, jota nykyinen kartoitusinstanssi käyttää sarjoitukseen ja sarjan poistamiseen. |
| setBase64Variant(Base64Variant v) | ObjectMapper | Sitä käytetään määrittämään oletusarvoinen Base64Variant, jota tavu[]-serialisoijat ja sarjan poistajat käyttävät. |
| setConfig(DeserializationConfig config) | ObjectMapper | Käytämme tätä menetelmää taustalla olevan DeserializationConfig-objektin ohittamiseksi. |
| setConfig(SerializationConfig config) | ObjectMapper | Käytämme tätä menetelmää, jotta voit ohittaa taustalla olevan SerializationConfig-objektin, jolla on serialisointikohtaiset määritysasetukset. |
| setDateFormat(DateFormat dateFormat) | ObjectMapper | Sitä käytetään määrittämään oletuspäivämäärämuoto käyttämään sitä aika-arvojen sarjoituksessa merkkijonoina tai sarjoittaessaan JSON-merkkijonoista. |
| setDefaultPrettyPrinter(PrettyPrinter pp) | ObjectMapper | Sitä käytetään määrittämään PrettyPrinter, jota käytetään, kun 'oletuskaunis tulostus' on käytössä. |
| setDefaultTyping(TypeResolverBuilder typer) | ObjectMapper | Sitä käytetään mahdollistamaan tyyppitietojen automaattinen sisällyttäminen. |
| setHandlerInstantiator(HandlerInstantiator hei) | Esine | Sitä käytetään HandlerInstantiatorin määrittämiseen käsittelijöiden esiintymien luomiseen. |
| setFilterProvider(FilterProvider filterProvider) | ObjectMapper | Sitä käytetään määrittämään nykyinen kartoittaja käyttämään määritettyä FilterProvideria suodatintunnusten yhdistämiseen todellisiin suodatinesiintymiin. |
| setInjectableValues(InjectableValues injectableValues) | ObjectMapper | Sitä käytetään InjectableValues-arvon määrittämiseen, jota käytetään lisättävien arvojen etsimiseen. |
| setLocale(paikallinen l) | ObjectMapper | Sitä käytetään ohittamaan muotoilussa käytettävä oletuskieli. |
| setMixInResolver(ClassIntrospector.MixInResolver-ratkaisu) | ObjectMapper | Käytämme tätä menetelmää määrittämään annettua ratkaisijaa käytettävien sekoitusluokkien paikallistamiseksi ohittaen suoraan lisätyt kartoitukset. |
| setMixInAnnotations(Kartta | mitätön | Se on poistomenetelmä sekamerkinnän määrittämiseen. |
| setNodeFactory(JsonNodeFactory f) | ObjectMapper | Sitä käytetään määrittämään JsonNodeFactory, jota käytetään juuritason puusolmujen rakentamiseen. |
| setMixIns(Kartta | ObjectMapper | Sitä käytetään määrittelemään sekoitusmerkinnät, joita käytetään prosessoitavien luokkien merkintöjen lisäämiseen. |
| setPropertyInclusion(JsonInclude.Value incl) | ObjectMapper | Sitä käytetään oletusarvoisen POJO-ominaisuuden sisällyttämisstrategian asettamiseen sarjoitusta varten. |
| setPropertyNamingStrategy(PropertyNamingStrategy s) | ObjectMapper | Sitä käytetään käytettävän mukautetun ominaisuuden nimeämisstrategian asettamiseen. |
| setSerializerFactory(SerializerFactory f) | ObjectMapper | Sitä käytetään määrittämään tietty SerializerFactory, jota käytetään (papu) serialisoijien rakentamiseen. |
| setSerializerProvider(OletusSerializerProvider p) | ObjectMapper | Sitä käytetään määrittämään 'suunnitelma' SerializerProvider-ilmentymä, jotta sitä voidaan käyttää todellisten palveluntarjoajan ilmentymien perustana käytettäväksi JsonSerializer-ilmentymien välimuistin käsittelyyn. |
| setSubtypeResolver(SubtypeResolver str) | ObjectMapper | Sitä käytetään mukautetun alatyypin ratkaisejan asettamiseen käytettäväksi. |
| setTimeZone(TimeZone tz) | ObjectMapper | Sitä käytetään ohittamaan muotoilussa käytettävä oletusaikavyöhyke. |
| setTypeFactory(TypeFactory f) | ObjectMapper | Sitä käytetään ohittamaan TypeFactory-ilmentymä, jota nykyinen kartoittaja käyttää. |
setVisibility (PropertyAccessor for Method, JsonAutoDetect.Visibility näkyvyys)
| ObjectMapper | SetVisibility()-funktiota ja sen muunnelmaa käytetään määrittämään tällä hetkellä määritetty VisibilityChecker. Palautettua ObjectMapper-instanssia käytetään tarkistamaan, voidaanko annettu ominaisuuselementti havaita automaattisesti vai ei. |
| treeAsTokens(TreeSolmu n) | JsonParser | Sitä käytetään JsonParserin rakentamiseen JSON-puun esityksestä. |
| treeToArvo(Puusolmu n, luokan arvotyyppi) | T | Sitä käytetään JSON-puun sisältämien tietojen sitomiseen tiettyyn arvotyyppiin. |
| versio() | Versio | Sitä käytetään tämän luokan sisältävään purkkiin tallennettujen versiotietojen hakemiseen ja niistä lukemiseen. |
kirjailija()
| ObjectWriter | Write()-komentoa ja sen muunnelmia käytetään ObjectWriterin rakentamiseen oletusasetuksilla, kun Base64-koodausmuunnelma Base64-koodatulle binääritiedolle, merkin poistotiedot ulostulolle, oletusattribuutit, DateFormat, suodatintarjoaja, skeemaobjekti JsonGeneratorille, jota käytetään sisällön kirjoittamiseen, kaunis tulostin sisennystä tai ominaisuus käytössä. |
| kirjoittajaFor(luokan juurityyppi) - | ObjectWriter | Sitä käytetään rakentamaan ObjectWriter objektien sarjoittamiseksi käyttämällä määritettyä juurityyppiä todellisen ajonaikaisen arvon sijaan. |
| writerFor(JavaType rootType) | ObjectWriter | Sitä käytetään rakentamaan ObjectWriter objektien sarjoittamiseksi käyttämällä määritettyä juurityyppiä todellisen ajonaikaisen arvon sijaan. |
| writerFor(TypeReference juurityyppi) | ObjectWriter | Sitä käytetään rakentamaan ObjectWriter objektien sarjoittamiseksi käyttämällä määritettyä juurityyppiä todellisen ajonaikaisen arvon sijaan. |
| writerWithDefaultPrettyPrinter() | ObjectWriter | Se on tehdasmenetelmä, jota käytetään ObjectWriterin rakentamiseen objektien sarjoittamiseksi käyttämällä melko oletustulostinta sisennykseen. |
kirjoittajaWithType (luokan juurityyppi)
| ObjectWriter | Nämä menetelmät poistetaan, ja niiden sijaan käytämme writerFor(TypeReference) -menetelmää. |
| writerWithView (Class serializationView) | ObjectWriter | Se on tehdasmenetelmä, jota käytetään ObjectWriterin rakentamiseen objektien sarjoittamiseksi määritetyn JSON-näkymän avulla. |
| writeTree(JsonGenerator jgen, JsonNode rootNode) | mitätön | Sitä käytetään toimitetun JSON-puun sarjoittamiseen käyttämällä annettua JsonGeneratoria. |
| writeValue(tiedoston tulostiedosto, objektin arvo) | mitätön | Sitä käytetään Java-arvon sarjoittamiseen JSON-lähtönä ja kirjoittamiseen annettuun kohtaan tiedosto. |
| writeValue(JsonGenerator g, objektin arvo). | mitätön | Sitä käytetään Java-arvojen sarjoittamiseen JSON-tulosteena käyttämällä annettua JsonGenerator. |
| writeValue(OutputStream out, Object value) | mitätön | Sitä käytetään Java-arvon sarjoittamiseen JSON-lähtönä käyttämällä annettua OutputStream. |
| writeValue(kirjoitin w, objektin arvo) | mitätön | Sitä käytetään Java-arvojen sarjoittamiseen JSON-tulosteena käyttämällä annettua Kirjailija. |
| writeValueAsBytes(Objektiarvo) | tavu[] | Sitä käytetään Java-arvojen sarjoittamiseen tavutaulukkona. |
| writeValueAsString(Objektiarvo) | merkkijono | Sitä käytetään Java-arvojen sarjoittamiseen merkkijonona. |
JacksonEsimerkki.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+ ' ]'; } } Lähtö: