כיתת ObjectMapper בג'קסון

כיתת ObjectMapper בג'קסון

ObjectMapper הוא אחד השיעורים החשובים ביותר שקיימים בו הג'קסון סִפְרִיָה. הוא משמש לקריאה ולכתיבה של נתוני JSON. הוא אחראי לקריאת נתונים מקובץ POJO ואל וממנו מודל עץ JSON.

ישנם המאפיינים הבאים של מחלקה ObjectMapper:

  1. הוא תומך במושגים מתקדמים כגון רב צורתיות ו זיהוי אובייקט.
  2. זה מאוד להתאמה אישית לעבוד עם סגנונות שונים של תוכן JSON.
  3. זה עובד כמפעל למקדמה ObjectReader ו ObjectWriter שיעורים.

המחלקה ObjectMapper מוצהרת באופן הבא:

 public class ObjectMapper extends ObjectCodec implements Versioned, Serializable  

כיתות מקוננות

הטבלה הבאה מגדירה את המחלקות שמרחיבות את מחלקת ObjectMapper או, אפשר לומר, מחלקות מקוננות של מחלקה ObjectMapper.

מעמד תיאור
DefaultTypeResolverBuilder זה מותאם אישית TypeResolverBuilder מחלקה המשמשת לקבל את בוני פותרי הסוג, שאיתם נוכל להשתמש 'ברירת המחדל של הקלדה'.
DefaultTyping על מנת לציין את סוג הסוגים, נעשה שימוש בספירות עם השיטה enableDefaultTyping() .

כעת, בואו נבין את השדות, הבנאים והשיטות של מחלקה ObjectMapper:

שדות של מחלקה ObjectMapper

protected DefaultDeserializationContext _deserializationContext

זהו אובייקט הקשר של שרטוט המאוחסן כדי לאפשר תת-מחלקות מותאמות אישית.

protected DeserializationConfig _deserializationConfig

זהו אובייקט תצורה המשמש להגדרת ההגדרות הגלובליות הבסיסיות לתהליך דה-סריאליזציה.

JsonFactory מוגן jsonFactory

על מנת ליצור מופע של JsonParser ו-JsonGenerator, נעשה שימוש ב-JsonFactory.

מוגן InjectableValues ​​_injectableValues

זהו ספק המשמש להזרקת הערכים ב-POJO מנותק בסידרה.

מוגן ConfigOverrides _propertyOverrides

הוא משמש לגישה לעקיפות התצורה הפעילות כרגע לפי סוג.

מוגן SimpleMixInResolver _mixIns

זהו מיפוי המשמש להגדרת דרך להחלת הערות ערבוב. המיפוי נעשה בדרך הבאה:

מַפְתֵחַ: הקלד כדי לקבל הערות נוספות.

ערך: סוג שיש בו הערות ל'ערבב'

protected Set _registeredModuleTypes

זהו סט שמגדיר את קבוצת סוגי המודולים שנרשמו.

מוגן SerializationConfig _serializationConfig

זהו גם אובייקט תצורה המשמש להגדרת ההגדרות הגלובליות הבסיסיות לתהליך ההסדרה.

מוגן ConcurrentHashMap _rootDeserializers

זוהי מפה המשמשת כדי לעקוב אחר דה-סריאלייזרים ברמת השורש. זוהי מפה ברמה עיקרית.

מוגן SerializerFactory _serializerFactory

זה מפעל המשמש לבניית הסדרות.

מוגן SubtypeResolver _subtypeResolver

הוא משמש לרישום תת-סוגים ולפתור אותם עבור סופר/תתי-טיפוסים לפי הצורך.

מוגן TypeFactory _typeFactory

זהו מפעל המשמש ליצירת מופעי JavaType. הם נדרשים כדי לאפשר למודולים להוסיף עוד טיפול בסוג מותאם אישית.

protected DefaultSerializerProvider _serializerProvider

זהו אובייקט שאחראי על ניהול הגישה לסריאלייזרים המשמשים לסידרה.

מוגן סטטי BaseSettings DEFAULT_BASE

מדובר בהגדרות בסיס הכוללות ברירות מחדל המשמשות עבור כל מופעי ObjectMapper.

בונים של מחלקת ObjectMapper

ישנם הבנאים הבאים של המחלקה ObjectMapper:

בַּנַאִי תיאור
ObjectMapper() זהו בנאי ברירת מחדל המשמש לבניית מופע המשתמש בברירת מחדל JsonFactory, SerializerProvider, ו BeanSerializerFactory.
ObjectMapper (מפעל JsonFactory) הוא משמש לבניית מופע המשתמש ב-JsonFactory הנתון. ה-JsonFactory הנתון משמש לבנייה JsonParsers ו/או JsonGenerators.
ObjectMapper (מפעל JsonFactory, ספק ספק ה-Serializer1, ספק ספק Deserializer2) הוא משמש לבניית מופע המשתמש בנתון JsonFactory, SerializerProvider, ו DeserializerProvider. ה-JsonFactory הנתון משמש לבנייה JsonParsers ו/או JsonGenerators.
מוגן ObjectMapper(ObjectMapper mapper) זהו בונה העתקה לתמיכה ב-copy().

שיטות מחלקה של ObjectMapper

המחלקה ObjectMapper מגדירה את השיטות הבאות:

שיטה סוג החזרה תיאור
_checkInvalidCopy(Class exp) בָּטֵל הוא משמש לבדיקת עותק לא חוקי.
_configAndWriteValue(JsonGenerator g, ערך אובייקט) בָּטֵל הוא משמש להגדרת המחולל בעת הצורך ולאחר מכן לביצוע פונקציונליות הכתיבה.
_convert(Object fromValue, JavaType toValueType) לְהִתְנַגֵד הוא משמש כדי לקבל את יישום ההמרה בפועל. כאן, לא נעשה שימוש בשיטות קריאה וכתיבה עבור הקוד.
_initForReading(JsonParser p) JsonToken הוא משמש כדי לוודא אם המנתח הנתון מוכן לקריאת תוכן לקשירת נתונים או לא.
_findRootDeserializer(DeserializationContext ctxt, JavaType valueType) JsonDeserializer עבור הערך ברמת השורש שעבר, אם ברצוננו לאתר את ה-de-serializer, אנו משתמשים בשיטה זו.
_newReader(תצורת DeserializationConfig)
שיטה דומה:
  1. _newReader(DeserializationConfig config, JavaType valueType, Object valueToUpdate, FormatSchema schema, InjectableValues ​​injectableValues)
ObjectReader זוהי שיטת מפעל, כלומר, המשמשת כדי לקבל את מופעי ObjectReader של תת-סוג מתאים. על מנת להשתמש בשיטה זו, יש צורך שתת המחלקות חייבות לעקוף.
_newWriter(SerializationConfig config)
שיטות דומות:
  1. _newWriter(SerializationConfig config, FormatSchema schema)
  2. _newWriter(SerializationConfig config, JavaType rootType, PrettyPrinter pp)
ObjectWriter זוהי שיטת מפעל, כלומר, המשמשת כדי לקבל את מופעי ObjectWriter של תת-סוג מתאים. על מנת להשתמש בשיטה זו, יש צורך שתת המחלקות חייבות לעקוף.
_readValue(DeserializationConfig cfg, JsonParser p, JavaType valueType) לְהִתְנַגֵד הוא משמש כדי לקבל אובייקט שמגדיר קריאת ערך ופעולת כריכה.
_serializerProvider(SerializationConfig config) DefaultSerializerProvider זוהי שיטת עוזר הניתנת לביטול המשמשת לבניית SerializerProvider.
acceptJsonFormatVisitor(סוג מחלקה, מבקר JsonFormatVisitorWrapper)
שיטה דומה:
  1. acceptJsonFormatVisitor(סוג JavaType, מבקר JsonFormatVisitorWrapper)
בָּטֵל
בָּטֵל
אם ברצוננו לבקר בהיררכיית הסוגים של סוג מסוים עם המבקר שצוין, אנו משתמשים בשיטה זו.
addHandler(DeserializationProblemHandler h) ObjectMapper על מנת לטפל בבעיות שצוינו במהלך דה-סריאליזציה, אנו משתמשים ב-DeserializationProblemHandler שצוין, וכדי להוסיף את המטפל, אנו משתמשים בשיטה זו.
addMixIn(Class target, Class mixinSource) ObjectMapper על מנת להשתמש בהערת ערבוב עבור מחלקה או ממשק הגדלה שצוינו, אנו משתמשים בשיטה זו כדי להוסיף אותה.
canDeserialize (סוג JavaType) בוליאנית הוא משמש כדי לבדוק אם הממפר יכול לבטל את הרצף של אובייקט מסוג מסוים או לא.
canDeserialize (סוג JavaType, סיבה AtomicReference) בוליאנית זה דומה לשיטה הקודמת. ההבדל היחיד הוא שהוא יכול להחזיר את הניתנת לזריקה שנזרק בזמן בניית הסדרה. ניתן להשתמש בזריקה כדי להבין את הבעיה בפועל.
canSerialize (סוג מחלקה) בוליאנית הוא משמש כדי לבדוק אם הממפר יכול לבצע סדרה של אובייקט מסוג מסוים או לא.
canSerialize (סוג מחלקה, סיבה AtomicReference) בוליאנית זה דומה לשיטה הקודמת. ההבדל היחיד הוא שהוא יכול להחזיר את הניתנת לזריקה שנזרק בזמן בניית הסדרה. ניתן להשתמש בזריקה כדי להבין את הבעיה בפועל.
clearProblemHandlers() ObjectMapper זוהי אחת השיטות המשמשות להסרת כל מופעי DeserializationProblemHandlers מהמפה הרשומים.
configure (DeserializationFeature f, מצב בוליאני)
שיטות דומות:
  1. configure(JsonGenerator.Feature f, מצב בוליאני)
  2. configure(JsonParser.Feature f, מצב בוליאני)
  3. configure (MapperFeature f, מצב בוליאני)
  4. configure (SerializationFeature f, מצב בוליאני)
ObjectMapper הוא משמש לשינוי המצב של ביטול בהמשכה, מחולל Json, JsonParser, Mapper או תכונת Serialization עבור ממפה האובייקטים, מופעי המחולל, מופעי מנתח, מופע ממפה או ממפה אובייקטים.
constructType(Type t) JavaType אם ברצוננו לבנות את JavaType מסוג נתון ללא הקשר מפורש, אנו משתמשים בשיטה זו.
convertValue(Object fromValue, Class toValueType)
שיטות דומות:
  1. convertValue(Object fromValue, JavaType toValueType)
ט אם ברצוננו לבצע המרה דו-שלבית של ערך נתון למופע מסוג ערך נתון, אנו משתמשים בשיטת converValue() .
createArrayNode() ArrayNode הוא משמש ליצירת ArrayNode.
defaultClassIntrospector() ClassIntrospector אם ברצוננו להשתמש בברירת המחדל של ClassIntrospector, אנו משתמשים בשיטת ה-Overridable Helper לבנייתו.
השבת (תכונת DeserializationFeature)
שיטות דומות:
  1. disable(DeserializationFeature first, DeserializationFeature...ו)
  2. disable(JsonGenerator.Feature... תכונות)
  3. disable(JsonParser.Feature... features)
  4. disable(MapperFeature...f)
  5. disable(SerializationFeature f)
  6. disable(SerializationFeature first, SerializationFeature...f)
ObjectMapper הוא משמש כדי להשבית נתון DeserializationConfig, JsonGenerator.Features עבור מופעי מנתח, JsonParser.Features עבור מופעי מנתח של ממפה האובייקטים.
disableDefaultTyping() ObjectMapper פעמים רבות עלינו להשבית את ההכללה האוטומטית של מידע סוג, ולצורך כך אנו משתמשים בשיטה זו.
אפשר (תכונת DeserializationFeature)
  1. enable(DeserializationFeature first, DeserializationFeature...f)
  2. enable(JsonGenerator.Feature... features)
    enable(JsonParser.Feature... features)
  3. enable(MapperFeature...f)
  4. enable(SerializationFeature f)
  5. enable(SerializationFeature first, SerializationFeature...f)
ObjectMapper הוא משמש להפעלת ה-DeserializationConfig הנתון, JsonGenerator.Features עבור מופעי מנתח, JsonParser.Features עבור מופעי מנתח של ממפה האובייקטים.
enableDefaultTyping()
שיטות דומות:
  1. enableDefaultTyping(ObjectMapper.DefaultTyping dti)
  2. enableDefaultTyping(תחולת ObjectMapper.DefaultTyping, JsonTypeInfo.As includeAs)
  3. enableDefaultTypingAsProperty(ObjectMapper.DefaultTyping applicability, String propertyName)
ObjectMapper על מנת להשתמש בהכללה אוטומטית של מידע על סוגים עבור דה-סריאליזציה של טיפוסים פולימורפיים, אנו משתמשים בשיטה זו כדי לאפשר זאת.
findAndRegisterModules() ObjectMapper זה דומה לשיטת mapper.registerModules(mapper.findModules()).
findModules()
שיטות דומות:
  1. findModules(ClassLoader classLoader)
רשימה הוא משמש לאיתור שיטות זמינות. השיטה משתמשת במתקן JDK ServiceLoader עם SPI שסופק על ידי מודול.
getDateFormat() פורמט תאריך הוא משמש כדי לקבל את הפורמט של התאריך.
getDeserializationConfig() DeserializationConfig הוא משמש כדי לקבל את אובייקט ברירת המחדל המשותף DeserializationConfig. האובייקט המוחזר מגדיר את הגדרות התצורה לביטול בהמשכה.
getDeserializationContext() DeserializationContext הוא משמש כדי לקבל את ה-DeserializationContext הנוכחי.
getFactory() JsonFactory אם המאפר צריך לבנות מנתח Json ומחוללים, הוא צריך את json factory, וכדי לקבל את זה, אנו משתמשים בשיטת getFactory() .
getInjectableValues() ערכים להזרקה הוא משמש כדי לקבל ערכים הניתנים להזרקה.
getJsonFactory() JsonFactory זוהי שיטה שהוצאה משימוש להשיג את מפעל Json.
getNodeFactory() JsonNodeFactory הוא משמש כדי לקבל את ה-JsonNodeFactory המשמש את המאפר בזמן בנייה ישירה של מופעי שורש JsonNode עבור Trees.
getPropertyNamingStrategy() אסטרטגיית שמות נכסים כפי שהשם מרמז, הוא משמש לאסטרטגיית השמות של הנכס.
getSerializationConfig() SerializationConfig הוא משמש כדי לקבל את אובייקט ברירת המחדל המשותף SerializationConfig. האובייקט המוחזר מגדיר את הגדרות התצורה לסידרה.
getSerializerFactory() SerializerFactory הוא משמש כדי לקבל את SerializerFactory הנוכחי.
getSerializerProvider() ספק סדרה זהו אביזר עבור המפעל, המשמש ליצירת מופעים על ידי קריאה DefaultSerializerProvider.createInstance(SerializationConfig, SerializerFactory).
getSerializerProviderInstance() ספק סדרה זהו אביזר המשמש לבנייה והחזרה של מופע של SerializerProvider, שבו אנו יכולים להשתמש כדי לגשת לסריאלייזרים.
getSubtypeResolver() SubtypeResolver הוא משמש לגישה לפותר המשנה שבשימוש.
getTypeFactory() TypeFactory זהו אביזר המשמש כדי לקבל מופע של TypeFactory המוגדר כעת.
getVisibilityChecker() VisibilityChecker הוא משמש לגישה לבודק הנראות המוגדר כעת.
isEnabled(DeserializationFeature f)
שיטות דומות:
  1. isEnabled(JsonFactory.Feature f)
  2. isEnabled(JsonGenerator.Feature f)
  3. isEnabled(JsonParser.Feature f)
  4. isEnabled(MapperFeature f)
  5. isEnabled(SerializationFeature f)
בוליאנית השיטה isEnable() והווריאציות שלה משמשות כדי לבדוק אם תכונת JsonFactory, JsonGenerator, JsonParser, Mapper או Serialization נתונה מופעלת או לא.
mixInCount() int הוא משמש כדי לקבל את הספירה של mixIn.
קוֹרֵא()
שיטות דומות:
  1. reader (Base64Variant defaultBase64)
  2. קורא (סוג מחלקה)
  3. reader(ContextAttributes attrs)
  4. קורא (תכונת תכונת דה-סריאליזציה)
  5. קורא (DeserializationFeature תחילה, DeserializationFeature... אחר)
  6. קורא (סכימה FormatSchema)
  7. קורא (InjectableValues ​​injectableValues)
  8. קורא (סוג JavaType)
  9. reader(JsonNodeFactory f)
  10. קורא (סוג התייחסות סוג)
ObjectReader שיטת reader() והווריאציות שלה הן שיטות היצרן המשמשות לבניית מופע של ObjectReader. בהתבסס על הדרישה, נוכל להעביר את גרסת הקידוד Base64 עבור נתונים בינאריים מקודדים ב-Base64, תכונות ברירת מחדל, תכונות מופעלות, ערכים הניתנים להזרקה, JsonNodeFactory לבניית עצי JSON.
readerFor(סוג מחלקה) ObjectReader זוהי שיטת יצרן המשמשת לבניית ObjectReader, המאפשרת פעולות קריאה או עדכון עבור מופעים מהסוג שצוין.
readerFor (סוג JavaType) ObjectReader זוהי שיטת יצרן המשמשת לבניית ObjectReader, המאפשרת פעולות קריאה או עדכון עבור מופעים של JavaType שצוין.
readerFor(סוג התייחסות סוג) ObjectReader זוהי שיטת יצרן המשמשת לבניית ObjectReader, המאפשרת פעולות קריאה או עדכון עבור מקרים של TypeReference נתון.
readerForUpdating(Object valueToUpdate) ObjectReader זוהי שיטת יצרן המשמשת לבניית ObjectReader המאפשרת פעולות עדכון עבור האובייקט הנתון.
readerWithView (תצוגת כיתה) ObjectReader זוהי שיטת מפעל המשמשת לבניית ObjectReader, מה שמאפשר
ביטול בהמשכה של אובייקטים עם תצוגת JSON נתונה.
readTree(byte[] content)
  1. readTree (קובץ קובץ)
  2. readTree(InputStream in)
  3. readTree(JsonParser p)
  4. readTree(Reader r)
  5. readTree (תוכן מחרוזת)
  6. readTree (מקור כתובת אתר)
JsonNode
אוֹ
ט
ה-readTree() והווריאציות שלו משמשות לביטול הסדרה של תוכן JSON כעץ המובע באמצעות קבוצה של מופעי JsonNode.
readValue(byte[] src, Class valueType)
שיטות דומות
  1. readValue(byte[] src, int offset, int len, JavaType valueType)
  2. readValue(byte[] src, int offset, int len, Class valueType)
  3. readValue(byte[] src, JavaType valueType)
  4. readValue(DataInput src, Class valueType)
  5. readValue(קובץ src, Class valueType)
  6. readValue(DataInput src, JavaType valueType)
  7. readValue(File src, JavaType valueType)
  8. readValue(קובץ src, TypeReference valueTypeRef)
  9. readValue(InputStream src, JavaType valueType)
  10. readValue(byte[] src, TypeReference valueTypeRef)
  11. readValue(InputStream src, Class valueType)
  12. readValue(InputStream src, TypeReference valueTypeRef)
  13. readValue(JsonParser p, JavaType valueType)
  14. readValue(JsonParser p, Class valueType)
  15. readValue(JsonParser p, ResolvedType valueType)
  16. readValue(byte[] src, int offset, int len, TypeReference valueTypeRef)
  17. readValue(Reader src, TypeReference valueTypeRef)
  18. readValue(JsonParser p, TypeReference valueTypeRef)
  19. readValue(Reader src, JavaType valueType)
  20. readValue(תוכן מחרוזת, TypeReference valueTypeRef)
  21. readValue(Reader src, Class valueType)
  22. readValue(תוכן מחרוזת, Class valueType)
  23. readValue(תוכן מחרוזת, JavaType valueType)
  24. readValue(URL src, TypeReference valueTypeRef)readValue(URL src, Class valueType)
  25. readValue(URL src, JavaType valueType)
ט
אוֹ
MappingIterator
ה-readValue() והווריאציות שלו משמשות לביטול הסדרת תוכן JSON
  1. מהקובץ הנתון לסוג Java נתון, לסוג שאינו מכיל, או להפניה מסוג Java שאליה הוא מועבר כארגומנט.
  2. מתוכן JSON נתון למחרוזת.
  3. ממשאב נתון לסוג Java נתון.
וריאציות משמשות על סמך דרישות שונות.
readValues(JsonParser p, Class valueType)
שיטות דומות:
  1. readValues(JsonParser p, JavaType valueType)
  2. readValues(JsonParser p, ResolvedType valueType)
  3. readValues(JsonParser p, TypeReferencevalueTypeRef)
MappingIterator ה-readValues() והווריאציות שלו משמשות לקריאת רצף האובייקטים מזרם המנתח.
registerModule(מודול מודול)
שיטות דומות:
  1. registerModules (מודולים הניתנים לחזרה)
  2. registerModules(מודול...מודולים)
ObjectMapper ה-registerModule() והווריאציות שלו משמשות לרישום מודול בעל יכולת להרחיב את הפונקציונליות שסופק על ידי הממפר.
registerSubtypes(NamedType... types) בָּטֵל הוא משמש לרישום המחלקה הנתונה כתת-סוג. על ידי כך, הרזולוציה המבוססת על שם טיפוס יכולה לקשר טיפוסי-על לתת-סוגים.
setAnnotationIntrospector(AnnotationIntrospector ai) ObjectMapper הוא משמש כדי להגדיר את AnnotationIntrospector, המשמש את מופע הממפר הן לביצוע סריאליזציה והן לביטול בהמשכה.
setAnnotationIntrospectors(AnnotationIntrospector serializerAI, AnnotationIntrospector deserializerAI) ObjectMapper הוא משמש כדי לשנות את המופע של AnnotationIntrospector המשמש את מופע הממפה הנוכחי עבור סידור וביטול בהמשכה.
setBase64Variant(Base64Variant v) ObjectMapper הוא משמש כדי להגדיר את ברירת המחדל של Base64Variant שישמש את ה-byte[] סדרות ו-de-serializers.
setConfig(DeserializationConfig config) ObjectMapper על מנת לבצע את העקיפה של אובייקט DeserializationConfig הבסיסי, אנו משתמשים בשיטה זו.
setConfig(SerializationConfig config) ObjectMapper על מנת לבצע את העקיפה של אובייקט SerializationConfig הבסיסי בעל הגדרות תצורה ספציפיות לסריאליזציה, אנו משתמשים בשיטה זו.
setDateFormat(DateFormat dateFormat) ObjectMapper הוא משמש כדי להגדיר את ברירת המחדל של DateFormat להשתמש בו בזמן סידור ערכי זמן כמחרוזות או ביטול סדרה מ-JSON Strings.
setDefaultPrettyPrinter(PrettyPrinter pp) ObjectMapper הוא משמש כדי לציין את PrettyPrinter לשימוש בו כאשר 'ברירת מחדל יפה-הדפסה' מופעלת.
setDefaultTyping(TypeResolverBuilder typer) ObjectMapper הוא משמש כדי לאפשר הכללה אוטומטית של מידע סוג.
setHandlerInstantiator(HandlerInstantiator hi) לְהִתְנַגֵד הוא משמש כדי להגדיר את HandlerInstantiator לשימוש ליצירת מופעים של מטפלים.
setFilterProvider(FilterProvider filterProvider) ObjectMapper הוא משמש כדי להגדיר את המפה הנוכחי להשתמש ב-FilterProvider שצוין למיפוי מזהי מסנן למופעי סינון בפועל.
setInjectableValues(InjectableValues ​​injectableValues) ObjectMapper הוא משמש להגדרת InjectableValues ​​המשמש למציאת ערכים להזרקה.
setLocale(Local l) ObjectMapper הוא משמש לעקוף את מקום ברירת המחדל לשימוש עבור עיצוב.
setMixInResolver(ClassIntrospector.MixInResolver resolve) ObjectMapper אנו משתמשים בשיטה זו כדי לציין את הפותר הנתון כדי לאתר מחלקות שילוב לשימוש, תוך עקיפת מיפויים שנוספו ישירות.
setMixInAnnotations(Map sourceMixins) בָּטֵל זוהי שיטה מופחתת להגדרת הערת ערבוב.
setNodeFactory(JsonNodeFactory f) ObjectMapper הוא משמש כדי לציין את JsonNodeFactory לשימוש לבניית צמתי עצים ברמת השורש.
setMixIns(Map sourceMixins) ObjectMapper הוא משמש להגדרת הערות השילוב לשימוש להגדלת הערות שיש למחלקות הניתנות לעיבוד.
setPropertyInclusion(JsonInclude.Value incl) ObjectMapper הוא משמש להגדרת ברירת המחדל של אסטרטגיית הכללת המאפיינים של POJO עבור סדרה.
setPropertyNamingStrategy(PropertyNamingStrategy s) ObjectMapper הוא משמש כדי להגדיר את אסטרטגיית שמות הנכסים המותאמת אישית לשימוש.
setSerializerFactory(SerializerFactory f) ObjectMapper הוא משמש כדי להגדיר את SerializerFactory הספציפי לשימוש עבור בניית (שעועית) סדרה.
setSerializerProvider(DefaultSerializerProvider p) ObjectMapper הוא משמש כדי להגדיר את מופע ה-'blueprint' SerializerProvider לשימוש בו כבסיס למופעי ספק בפועל לשימוש לטיפול בשמירת מטמון של מופעי JsonSerializer.
setSubtypeResolver(SubtypeResolver str) ObjectMapper הוא משמש כדי להגדיר את פותר המשנה המותאם אישית לשימוש.
setTimeZone(TimeZone tz) ObjectMapper הוא משמש לעקוף את ברירת המחדל של אזור הזמן לשימוש עבור עיצוב.
setTypeFactory(TypeFactory f) ObjectMapper הוא משמש לעקוף את מופע TypeFactory, המשמש את המפה הנוכחי.
setVisibility(PropertyAccessor forMethod, JsonAutoDetect.Visibility visibility)
  1. setVisibility(VisibilityChecker vc)
  2. setVisibilityChecker(VisibilityChecker vc)
ObjectMapper ה-setVisibility() והווריאציה שלו משמשות כדי להגדיר את VisibilityChecker המוגדר כעת. המופע המוחזר של ObjectMapper משמש כדי לבדוק אם ניתן לזהות אוטומטית את רכיב המאפיין הנתון או לא.
treeAsTokens(TreeNode n) JsonParser הוא משמש לבניית JsonParser מתוך ייצוג עץ JSON.
treeToValue(TreeNode n, Class valueType) ט הוא משמש לאגד את הנתונים שעץ JSON מכיל לסוג ערך מסוים.
גִרְסָה() גִרְסָה הוא משמש כדי לקבל את מידע הגרסה המאוחסן וקריאה מהצנצנת המכילה מחלקה זו.
סוֹפֵר()
  1. writer(Base64Variant defaultBase64)
  2. סופר (Character Escapes escapes)
  3. writer(ContextAttributes attrs)
  4. סופר (DateFormat df)
  5. סופר (FilterProvider filterProvider)
  6. כותב (סכימה FormatSchema)
  7. סופר (PrettyPrinter pp)
  8. סופר (תכונת SerializationFeature)
  9. סופר (SerializationFeature תחילה, SerializationFeature... אחר)
ObjectWriter ה-write() והווריאציות שלו משמשות לבניית ObjectWriter עם הגדרות ברירת מחדל, בהינתן וריאנט קידוד Base64 עבור נתונים בינאריים מקודדים ב-Base64, פרטי בריחה של תווים עבור פלט, תכונות ברירת מחדל, DateFormat, ספק מסנן, אובייקט סכימה ל-JsonGenerator המשמש לכתיבת תוכן, מדפסת יפה להזחה, או תכונה מופעלת.
writerFor(Class rootType) - ObjectWriter הוא משמש לבניית ObjectWriter להסדרת האובייקטים באמצעות סוג שורש שצוין במקום סוג הערך של זמן הריצה בפועל.
writerFor(JavaType rootType) ObjectWriter הוא משמש לבניית ObjectWriter להסדרת האובייקטים באמצעות סוג שורש שצוין במקום סוג הערך של זמן הריצה בפועל.
writerFor(TypeReference rootType) ObjectWriter הוא משמש לבניית ObjectWriter להסדרת האובייקטים באמצעות סוג שורש שצוין במקום סוג הערך של זמן הריצה בפועל.
writerWithDefaultPrettyPrinter() ObjectWriter זוהי שיטת יצרן המשמשת לבניית ObjectWriter להצגה בסידרה של האובייקטים באמצעות מדפסת ברירת המחדל היפה להזחה.
writerWithType(Class rootType)
  1. writerWithType(Class rootType)
  2. writerWithType(TypeReference rootType)
ObjectWriter שיטות אלו מופחתות, ובמקום אותן, אנו משתמשים בשיטת writerFor(TypeReference).
writerWithView(Class serializationView) ObjectWriter זוהי שיטה של ​​יצרן המשמשת לבניית ObjectWriter ליצירת אובייקטים בסידרה באמצעות JSON View שצוין.
writeTree(JsonGenerator jgen, JsonNode rootNode) בָּטֵל הוא משמש להצגה בסידרה של עץ ה-JSON המסופק על ידי שימוש ב-JsonGenerator הנתון.
writeValue(קובץ resultFile, ערך אובייקט) בָּטֵל הוא משמש להסדרת ערך Java כפלט JSON ולכתוב אותו לנתון קוֹבֶץ.
writeValue(JsonGenerator g, ערך אובייקט). בָּטֵל הוא משמש להסדרת ערכי Java כפלט JSON באמצעות הנתון JsonGenerator.
writeValue(OutputStream out, Object value) בָּטֵל הוא משמש להסדרת ערך Java כפלט JSON באמצעות הנתון OutputStream.
writeValue(Writer w, Object value) בָּטֵל הוא משמש להסדרת ערכי Java כפלט JSON באמצעות הנתון סוֹפֵר.
writeValueAsBytes(ערך אובייקט) בייט[] הוא משמש להסדרת ערכי Java כמערך בתים.
writeValueAsString(ערך אובייקט) חוּט הוא משמש להסדרת ערכי Java כמחרוזת.

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+ ' ]'; } }  

תְפוּקָה:

כיתת ObjectMapper בג