فئة ObjectMapper في جاكسون

فئة ObjectMapper في جاكسون

ObjectMapper هي واحدة من أهم الفئات المتوفرة في جاكسون مكتبة. يتم استخدامه لقراءة وكتابة بيانات JSON. وهو مسؤول عن قراءة البيانات من أو إلى ملف POJO ومن وإلى JSON Tree Model.

هناك الخصائص التالية لفئة ObjectMapper:

  1. وهو يدعم المفاهيم المتقدمة مثل تعدد الأشكال و التعرف على الأشياء.
  2. إنه قابل للتخصيص للغاية للعمل مع أنماط مختلفة من محتوى JSON.
  3. يعمل كمصنع للتقدم قارئ الكائنات و كاتب الكائن الطبقات.

يتم الإعلان عن فئة ObjectMapper بالطريقة التالية:

 public class ObjectMapper extends ObjectCodec implements Versioned, Serializable  

فئات متداخلة

يحدد الجدول التالي الفئات التي توسع فئة ObjectMapper، أو، على سبيل المثال، الفئات المتداخلة لفئة ObjectMapper.

فصل وصف
DefaultTypeResolverBuilder إنها مخصصة TypeResolverBuilder فئة يتم استخدامها للحصول على منشئي محلل النوع، والتي يمكننا استخدامها معها 'الكتابة الافتراضية'.
الكتابة الافتراضية من أجل تحديد نوع الأنواع، يتم استخدام التعدادات مع طريقة EnableDefaultTyping() .

الآن، دعونا نفهم الحقول والمنشئات والأساليب الخاصة بفئة ObjectMapper:

مجالات فئة ObjectMapper

protected DefaultDeserializationContext _deserializationContext

إنه كائن سياق مخطط يتم تخزينه للسماح بفئات فرعية مخصصة.

protected DeserializationConfig _deserializationConfig

إنه كائن تكوين يُستخدم لتحديد الإعدادات العامة الأساسية لعملية إلغاء التسلسل.

محمية JsonFactory jsonFactory

من أجل إنشاء مثيل JsonParser وJsonGenerator، يتم استخدام JsonFactory.

InjectableValues ​​المحمية _injectableValues

إنه مزود يتم استخدامه لحقن القيم في POJOs غير التسلسلية.

محمية ConfigOverrides _propertyOverrides

يتم استخدامه للوصول إلى تجاوزات التكوين النشطة حاليًا لكل نوع.

محمية SimpleMixInResolver _mixIns

إنه رسم تخطيطي يُستخدم لتحديد طريقة لتطبيق التعليقات التوضيحية المختلطة. يتم رسم الخرائط بالطريقة التالية:

مفتاح: اكتب لتلقي التعليقات التوضيحية الإضافية.

قيمة: النوع الذي يحتوي على تعليقات توضيحية 'للخلط'

مجموعة_registeredModuleTypes المحمية

إنها مجموعة تحدد مجموعة أنواع الوحدات التي تم تسجيلها.

تكوين التسلسل المحمي _serializationConfig

وهو أيضًا كائن تكوين يُستخدم لتحديد الإعدادات العامة الأساسية لعملية التسلسل.

المحمية ConcurrentHashMap _rootDeserializers

إنها خريطة تُستخدم لتتبع أدوات إلغاء التسلسل على مستوى الجذر. إنها خريطة المستوى الرئيسي.

محمي SerializerFactory _serializerFactory

وهو مصنع يستخدم لبناء المسلسلات.

محمي SubtypeResolver _subtypeResolver

يتم استخدامه لتسجيل الأنواع الفرعية وحلها للأنواع الفائقة/الفرعية حسب الحاجة.

محمية TypeFactory _typeFactory

إنه مصنع يستخدم لإنشاء مثيلات JavaType. وهي مطلوبة للسماح للوحدات النمطية بإضافة المزيد من معالجة النوع المخصص.

protected DefaultSerializerProvider _serializerProvider

إنه كائن مسؤول عن إدارة الوصول إلى المُسلسلات المستخدمة للتسلسل.

الإعدادات الأساسية الثابتة المحمية DEFAULT_BASE

إنها الإعدادات الأساسية التي تتضمن الإعدادات الافتراضية المستخدمة لجميع مثيلات ObjectMapper.

منشئو فئة ObjectMapper

هناك المنشئات التالية لفئة ObjectMapper:

البناء وصف
كائن مابر () إنه مُنشئ افتراضي يستخدم لإنشاء مثيل يستخدم الافتراضي JsonFactory، مقدم التسلسل، و BeanSerializerFactory.
ObjectMapper (مصنع JsonFactory) يتم استخدامه لإنشاء مثيل يستخدم JsonFactory المحدد. يتم استخدام JsonFactory المحدد للبناء JsonParsers و/أو JsonGenerators.
ObjectMapper (مصنع JsonFactory، موفر SerializerProvider 1، موفر DeserializerProvider 2) يتم استخدامه لبناء مثيل يستخدم المعطى JsonFactory، مقدم التسلسل، و DeserializerProvider. يتم استخدام JsonFactory المحدد للبناء JsonParsers و/أو JsonGenerators.
ObjectMapper المحمي (مخطط ObjectMapper) إنه مُنشئ نسخة لدعم النسخة ().

أساليب فئة ObjectMapper

تحدد فئة ObjectMapper الطرق التالية:

طريقة نوع الإرجاع وصف
_checkInvalidCopy(فئة EXP) فارغ يتم استخدامه للتحقق من نسخة غير صالحة.
_configAndWriteValue(JsonGenerator g، قيمة الكائن) فارغ يتم استخدامه لتكوين المولد عند الضرورة ثم أداء وظيفة الكتابة.
_convert (كائن fromValue، JavaType toValueType) هدف يتم استخدامه للحصول على تنفيذ التحويل الفعلي. هنا، لا يتم استخدام أساليب القراءة والكتابة للتعليمات البرمجية.
_initForReading(JsonParser ص) JsonToken يتم استخدامه للتأكد مما إذا كان المحلل اللغوي المعطى جاهزًا لقراءة المحتوى لربط البيانات أم لا.
_findRootDeserializer (DeserializationContext ctxt، JavaType valueType) JsonDeserializer بالنسبة لقيمة مستوى الجذر التي تم تمريرها، إذا أردنا تحديد موقع أداة إلغاء التسلسل، فإننا نستخدم هذه الطريقة.
_newReader (تكوين إلغاء التسلسل)
طريقة مماثلة:
  1. _newReader (تكوين DeserializationConfig، JavaType valueType، Object valueToUpdate، مخطط FormatSchema، InjectableValues ​​injectableValues)
قارئ الكائنات إنها طريقة مصنع، أي تستخدم للحصول على مثيلات ObjectReader من النوع الفرعي المناسب. من أجل استخدام هذه الطريقة، من الضروري أن يتم تجاوز الفئات الفرعية.
_newWriter (تكوين تكوين التسلسل)
طرق مماثلة:
  1. _newWriter (تكوين SerializationConfig، مخطط FormatSchema)
  2. _newWriter (تكوين SerializationConfig، JavaType rootType، PrettyPrinter pp)
كاتب الكائن إنها طريقة مصنع، أي تستخدم للحصول على مثيلات ObjectWriter من النوع الفرعي المناسب. من أجل استخدام هذه الطريقة، من الضروري أن يتم تجاوز الفئات الفرعية.
_readValue(DeserializationConfig cfg, JsonParser p, JavaType valueType) هدف يتم استخدامه للحصول على كائن يحدد قراءة القيمة وعملية الربط.
_serializerProvider (تكوين تكوين التسلسل) DefaultSerializerProvider إنها طريقة مساعدة يمكن تجاوزها تُستخدم لإنشاء SerializerProvider.
AcceptJsonFormatVisitor (نوع الفصل، زائر JsonFormatVisitorWrapper)
طريقة مماثلة:
  1. AcceptJsonFormatVisitor (نوع JavaType، زائر JsonFormatVisitorWrapper)
فارغ
فارغ
إذا أردنا زيارة التسلسل الهرمي للنوع من نوع معين مع الزائر المحدد، فإننا نستخدم هذه الطريقة.
addHandler(إلغاء التسلسلProblemHandler h) ObjectMapper من أجل معالجة المشاكل المحددة أثناء إلغاء التسلسل، نستخدم DeserializationProblemHandler محددًا، ولإضافة المعالج، نستخدم هذه الطريقة.
addMixIn (هدف الفئة، فئة mixinSource) ObjectMapper من أجل استخدام التعليقات التوضيحية المختلطة لفئة أو واجهة إضافية محددة، نستخدم هذه الطريقة لإضافتها.
يمكن إلغاء التسلسل (نوع JavaType) منطقية يتم استخدامه للتحقق مما إذا كان بإمكان مصمم الخرائط إلغاء تسلسل كائن من نوع محدد أم لا.
canDeserialize (نوع JavaType، سبب AtomicReference) منطقية وهو مشابه للطريقة السابقة. والفرق الوحيد هو أنه يمكنه إرجاع العناصر القابلة للرمي التي تم إلقاؤها في وقت إنشاء المُسلسِل. يمكن استخدام الرمي لمعرفة المشكلة الفعلية.
canSerialize (نوع الفصل) منطقية يتم استخدامه للتحقق مما إذا كان بإمكان مصمم الخرائط إجراء تسلسل لكائن من نوع محدد أم لا.
canSerialize (نوع الفئة، سبب AtomicReference) منطقية وهو مشابه للطريقة السابقة. والفرق الوحيد هو أنه يمكنه إرجاع العناصر القابلة للرمي التي تم إلقاؤها في وقت إنشاء المُسلسِل. يمكن استخدام الرمي لمعرفة المشكلة الفعلية.
ClearProblemHandlers() ObjectMapper إنها إحدى الطرق المستخدمة لإزالة كافة مثيلات DeserializationProblemHandlers من مخطط الخرائط المسجل.
تكوين (ميزة إلغاء التسلسل f، الحالة المنطقية)
طرق مماثلة:
  1. تكوين (JsonGenerator.Feature f، الحالة المنطقية)
  2. تكوين (JsonParser.Feature f، الحالة المنطقية)
  3. تكوين (MapperFeature f، حالة منطقية)
  4. تكوين (ميزة التسلسل f، الحالة المنطقية)
ObjectMapper يتم استخدامه لتغيير حالة تشغيل/إيقاف إلغاء التسلسل، أو Json Generator، أو JsonParser، أو Mapper، أو ميزة التسلسل لمخطط الكائن، أو مثيلات المولد، أو مثيلات المحلل اللغوي، أو مثيل معين، أو مخطط الكائن.
نوع البناء (النوع ر) JavaType إذا أردنا إنشاء JavaType من نوع معين دون سياق واضح، فإننا نستخدم هذه الطريقة.
تحويل القيمة (كائن fromValue، فئة toValueType)
طرق مماثلة:
  1. تحويل القيمة (كائن fromValue، JavaType toValueType)
ت إذا أردنا إجراء تحويل من خطوتين لقيمة معينة إلى مثيل لنوع قيمة معين، فإننا نستخدم طريقة converValue().
إنشاء صفيف () ArrayNode يتم استخدامه لإنشاء ArrayNode.
defaultClassIntrospector() ClassIntrospector إذا أردنا استخدام ClassIntrospector الافتراضي، فإننا نستخدم طريقة المساعد Overridable هذه لإنشائه.
تعطيل (ميزة إلغاء التسلسل)
طرق مماثلة:
  1. تعطيل (ميزة إلغاء التسلسل أولاً، ميزة إلغاء التسلسل... و)
  2. تعطيل (JsonGenerator.Feature... الميزات)
  3. تعطيل (JsonParser.Feature... الميزات)
  4. تعطيل (MapperFeature... و)
  5. تعطيل (ميزة التسلسل و)
  6. تعطيل (ميزة التسلسل أولاً، ميزة التسلسل... و)
ObjectMapper يتم استخدامه لتعطيل DeserializationConfig، JsonGenerator.Features لمثيلات المحلل اللغوي، وJsonParser.Features لمثيلات المحلل اللغوي لمخطط الكائن.
تعطيل الافتراضي الكتابة () ObjectMapper نحتاج في كثير من الأحيان إلى تعطيل التضمين التلقائي لمعلومات النوع، ولهذا الغرض نستخدم هذه الطريقة.
تمكين (ميزة إلغاء التسلسل)
  1. تمكين (ميزة إلغاء التسلسل أولاً، ميزة إلغاء التسلسل... و)
  2. تمكين (JsonGenerator.Feature... الميزات)
    تمكين (JsonParser.Feature... الميزات)
  3. تمكين (ميزة Mapper... و)
  4. تمكين (ميزة التسلسل و)
  5. تمكين (ميزة التسلسل أولاً، ميزة التسلسل... و)
ObjectMapper يتم استخدامه لتمكين DeserializationConfig المحدد، JsonGenerator.Features لمثيلات المحلل اللغوي، JsonParser.Features لمثيلات المحلل اللغوي لمخطط الكائن.
تمكين الافتراضي الكتابة ()
طرق مماثلة:
  1. EnableDefaultTyping(ObjectMapper.DefaultTyping dti)
  2. EnableDefaultTyping (قابلية تطبيق ObjectMapper.DefaultTyping، JsonTypeInfo.As includeAs)
  3. EnableDefaultTypingAsProperty (قابلية تطبيق ObjectMapper.DefaultTyping، String propertyName)
ObjectMapper من أجل استخدام التضمين التلقائي لمعلومات النوع لإلغاء تسلسل الأنواع متعددة الأشكال، نستخدم هذه الطريقة لتمكينه.
FindAndRegisterModules() ObjectMapper وهو مشابه للطريقة Mapper.registerModules(mapper.findModules()).
FindModules()
طرق مماثلة:
  1. FindModules (ClassLoader classLoader)
قائمة يتم استخدامه لتحديد الطرق المتاحة. تستخدم الطريقة أداة JDK ServiceLoader مع SPI المقدمة من الوحدة.
الحصول على التاريخ () صيغة التاريخ يتم استخدامه للحصول على تنسيق التاريخ.
الحصول على تكوين تسلسل () إلغاء التسلسلالتكوين يتم استخدامه للحصول على كائن DeserializationConfig الافتراضي المشترك. يحدد الكائن الذي تم إرجاعه إعدادات التكوين لإلغاء التسلسل.
الحصول على DeserializationContext () إلغاء التسلسلContext يتم استخدامه للحصول على DeserializationContext الحالي.
احصل على مصنع () JsonFactory إذا كان مصمم الخرائط يحتاج إلى إنشاء محلل ومولدات Json، فإنه يحتاج إلى مصنع json، وللحصول على ذلك، نستخدم طريقة getFactory().
getInjectableValues() القيم القابلة للحقن يتم استخدامه للحصول على قيم قابلة للحقن.
getJsonFactory() JsonFactory إنها طريقة مهملة للحصول على مصنع Json.
getNodeFactory() JsonNodeFactory يتم استخدامه للحصول على JsonNodeFactory الذي يستخدمه مصمم الخرائط في وقت إنشاء مثيلات JsonNode الجذرية للأشجار مباشرةً.
getPropertyNamingStrategy () استراتيجية تسمية الملكية كما يوحي الاسم، يتم استخدامه لاستراتيجية تسمية الخاصية.
الحصول علىSerializationConfig () تكوين التسلسل يتم استخدامه للحصول على كائن SerializationConfig الافتراضي المشترك. يحدد الكائن الذي تم إرجاعه إعدادات التكوين للتسلسل.
الحصول علىSerializerFactory() SerializerFactory يتم استخدامه للحصول على SerializerFactory الحالي.
الحصول علىSerializerProvider() SerializerProvider وهو عبارة عن أداة وصول للمصنع، تُستخدم لإنشاء المثيلات عن طريق استدعاء DefaultSerializerProvider.createInstance(SerializationConfig, SerializerFactory).
getSerializerProviderInstance() SerializerProvider وهو عبارة عن أداة وصول تُستخدم لإنشاء وإرجاع مثيل لـ SerializerProvider، والذي يمكننا استخدامه للوصول إلى المُسلسلات.
getSubtypeResolver() SubtypeResolver يتم استخدامه للوصول إلى محلل النوع الفرعي المستخدم.
getTypeFactory() TypeFactory وهو عبارة عن أداة وصول تُستخدم للحصول على مثيل لـ TypeFactory الذي تم تكوينه حاليًا.
getVisibilityChecker() VisibilityChecker يتم استخدامه للوصول إلى مدقق الرؤية الذي تم تكوينه حاليًا.
isEnabled (ميزة إلغاء التسلسل f)
طرق مماثلة:
  1. isEnabled(JsonFactory.Feature و)
  2. isEnabled(JsonGenerator.Feature و)
  3. isEnabled(JsonParser.Feature و)
  4. تم تمكينه (MapperFeature و)
  5. isEnabled (ميزة التسلسل و)
منطقية تُستخدم طريقة isEnable() وأشكالها المختلفة للتحقق مما إذا كانت ميزة إلغاء التسلسل المحددة أو JsonFactory أو JsonGenerator أو JsonParser أو Mapper أو Serialization ممكّنة أم لا.
ميكسينكونت () كثافة العمليات يتم استخدامه للحصول على عدد mixIn.
قارئ()
طرق مماثلة:
  1. القارئ (Base64Variant defaultBase64)
  2. القارئ (نوع الفصل)
  3. القارئ (سمات السياق)
  4. القارئ (ميزة إلغاء التسلسل)
  5. القارئ (ميزة إلغاء التسلسل أولاً، ميزة إلغاء التسلسل... أخرى)
  6. القارئ (مخطط تنسيق التنسيق)
  7. القارئ (InjectableValues ​​injectableValues)
  8. القارئ (نوع JavaType)
  9. القارئ (JsonNodeFactory و)
  10. القارئ (النوع المرجعي)
قارئ الكائنات طريقة Reader() وأشكالها المختلفة هي طرق المصنع المستخدمة لإنشاء مثيل ObjectReader. بناءً على المتطلبات، يمكننا تمرير متغير ترميز Base64 للبيانات الثنائية المشفرة بـ Base64، والسمات الافتراضية، والميزات الممكنة، والقيم القابلة للحقن، وJsonNodeFactory لإنشاء أشجار JSON.
ReaderFor (نوع الفصل) قارئ الكائنات إنها طريقة مصنع تُستخدم لإنشاء ObjectReader، مما يسمح بعمليات القراءة أو التحديث لمثيلات من النوع المحدد.
ReaderFor (نوع JavaType) قارئ الكائنات إنها طريقة مصنع تُستخدم لإنشاء ObjectReader، مما يسمح بعمليات القراءة أو التحديث لمثيلات JavaType المحددة.
ReaderFor (نوع مرجعي النوع) قارئ الكائنات إنها طريقة مصنع تُستخدم لإنشاء ObjectReader، مما يسمح بعمليات القراءة أو التحديث لمثيلات TypeReference المحددة.
ReaderForUpdating(قيمة الكائنToUpdate) قارئ الكائنات إنها طريقة مصنع تُستخدم لإنشاء ObjectReader مما يسمح بعمليات التحديث للكائن المحدد.
ReaderWithView(عرض الفصل) قارئ الكائنات إنها طريقة مصنع تُستخدم لإنشاء ObjectReader، مما يسمح بذلك
إلغاء تسلسل الكائنات باستخدام طريقة عرض JSON المحددة.
قراءة الشجرة (محتوى البايت [])
  1. قراءة الشجرة (ملف ملف)
  2. قراءة الشجرة (إدخال الدفق في)
  3. قراءة الشجرة (JsonParser ص)
  4. readTree (القارئ ص)
  5. readTree (محتوى السلسلة)
  6. قراءة الشجرة (مصدر URL)
JsonNode
أو
ت
تُستخدم الدالة readTree() وأشكالها المختلفة لإلغاء تسلسل محتوى JSON كشجرة يتم التعبير عنها باستخدام مجموعة من مثيلات JsonNode.
readValue(بايت[] src، نوع قيمة الفئة)
طرق مماثلة
  1. readValue (بايت [] src، int offset، int len، JavaType valueType)
  2. قراءة القيمة (بايت [] src، إزاحة int، int len، نوع قيمة الفئة)
  3. readValue(بايت[] src، JavaType valueType)
  4. readValue(DataInput src، فئة قيمة النوع)
  5. قيمة القراءة (ملف src، نوع قيمة الفئة)
  6. readValue(DataInput src، JavaType valueType)
  7. readValue (ملف src، JavaType valueType)
  8. readValue(ملف src، قيمة TypeReferenceTypeRef)
  9. readValue(InputStream src، JavaType valueType)
  10. readValue(بايت[] src، قيمة TypeReferenceTypeRef)
  11. readValue(InputStream src، فئة قيمة النوع)
  12. readValue(InputStream src، TypeReference valueTypeRef)
  13. readValue(JsonParser p، JavaType valueType)
  14. readValue(JsonParser p، فئة قيمة النوع)
  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(محتوى السلسلة، قيمة TypeReferenceTypeRef)
  21. قيمة القراءة (قارئ src، نوع قيمة الفئة)
  22. قيمة القراءة (محتوى السلسلة، نوع قيمة الفئة)
  23. readValue (محتوى السلسلة، نوع قيمة JavaType)
  24. readValue(URL src، TypeReference valueTypeRef) readValue(URL src، فئة valueType)
  25. readValue(URL src، JavaType valueType)
ت
أو
MappingIterator
يتم استخدام readValue() وأشكاله المختلفة لإلغاء تسلسل محتوى JSON
  1. من الملف المحدد إلى نوع Java محدد، أو إلى نوع لا يحتوي على حاوية، أو إلى مرجع نوع Java الذي يتم تمريره إليه كوسيطة.
  2. من محتوى JSON المحدد إلى String.
  3. من مورد معين إلى نوع جافا معين.
يتم استخدام الاختلافات بناءً على متطلبات مختلفة.
قراءة القيم (JsonParser p، فئة قيمة النوع)
طرق مماثلة:
  1. قراءة القيم (JsonParser p، JavaType valueType)
  2. readValues(JsonParser p، ResolvedType valueType)
  3. قراءة القيم (JsonParser p، TypeReferencevalueTypeRef)
MappingIterator تُستخدم الدالة readValues() وأشكالها المختلفة لقراءة تسلسل الكائنات من مجرى المحلل اللغوي.
RegisterModule (الوحدة النمطية)
طرق مماثلة:
  1. RegisterModules (وحدات قابلة للتكرار)
  2. ريجيستري مودوليز (الوحدة النمطية... الوحدات النمطية)
ObjectMapper تُستخدم الدالة RegisterModule() وأشكالها المختلفة لتسجيل وحدة لديها القدرة على توسيع الوظائف التي يوفرها مصمم الخرائط.
RegisterSubtypes(NamedType... أنواع) فارغ يتم استخدامه لتسجيل فئة معينة كنوع فرعي. من خلال القيام بذلك، يمكن للتحليل القائم على اسم النوع ربط الأنواع الفائقة بالأنواع الفرعية.
setAnnotationIntrospector(AnnotationIntrospector ai) ObjectMapper يتم استخدامه لتعيين AnnotationIntrospector، والذي يستخدمه مثيل مخطط الخرائط لكل من التسلسل وإلغاء التسلسل.
setAnnotationIntrospectors (AnnotationIntrospector serializerAI، AnnotationIntrospector deserializerAI) ObjectMapper يتم استخدامه لتغيير مثيل AnnotationIntrospector الذي يستخدمه مثيل مخطط الخرائط الحالي للتسلسل وإلغاء التسلسل.
setBase64Variant(Base64Variant v) ObjectMapper يتم استخدامه لتكوين Base64Variant الافتراضي الذي سيتم استخدامه بواسطة وحدات تسلسل البايت [] ووحدات إلغاء التسلسل.
setConfig (تكوين إلغاء التسلسل) ObjectMapper من أجل إجراء تجاوز لكائن DeserializationConfig الأساسي، نستخدم هذه الطريقة.
setConfig (تكوين تكوين التسلسل) ObjectMapper من أجل إجراء تجاوز لكائن SerializationConfig الأساسي الذي يحتوي على إعدادات تكوين خاصة بالتسلسل، نستخدم هذه الطريقة.
setDateFormat(DateFormat dateFormat) ObjectMapper يتم استخدامه لتكوين DateFormat الافتراضي لاستخدامه في وقت إجراء تسلسل لقيم الوقت كسلاسل أو إلغاء التسلسل من سلاسل JSON.
setDefaultPrettyPrinter(PrettyPrinter ص) ObjectMapper يتم استخدامه لتحديد PrettyPrinter لاستخدامه عند تمكين 'الطباعة الجميلة الافتراضية'.
setDefaultTyping(نوع TypeResolverBuilder) ObjectMapper يتم استخدامه لتمكين التضمين التلقائي لمعلومات النوع.
setHandlerInstantiator(HandlerInstantiator مرحبا) هدف يتم استخدامه لتكوين HandlerInstantiator لاستخدامه في إنشاء مثيلات المعالجات.
setFilterProvider(FilterProvider filterProvider) ObjectMapper يتم استخدامه لتكوين مخطط التعيين الحالي لاستخدام FilterProvider المحدد لتعيين معرفات عامل التصفية لمثيلات التصفية الفعلية.
setInjectableValues(InjectableValues ​​injectableValues) ObjectMapper يتم استخدامه لتكوين InjectableValues ​​الذي يستخدم للعثور على القيم المراد حقنها.
setLocale(محلي ل) ObjectMapper يتم استخدامه لتجاوز اللغة الافتراضية لاستخدامها في التنسيق.
setMixInResolver(حل ClassIntrospector.MixInResolver) ObjectMapper نحن نستخدم هذه الطريقة لتحديد وحدة التحليل المحددة لتحديد فئات الدمج المراد استخدامها، وتجاوز التعيينات المضافة مباشرة.
setMixInAnnotations(Map مصدر ميكسينز) فارغ إنها طريقة مستهلكة لتحديد التعليقات التوضيحية المختلطة.
setNodeFactory(JsonNodeFactory f) ObjectMapper يتم استخدامه لتحديد JsonNodeFactory لاستخدامه في إنشاء عقد شجرة مستوى الجذر.
setMixIns(Map مصدر ميكسينز) ObjectMapper يتم استخدامه لتحديد التعليقات التوضيحية المختلطة لاستخدامها في زيادة التعليقات التوضيحية التي تحتوي عليها الفئات القابلة للمعالجة.
setPropertyInclusion(JsonInclude.Value incl) ObjectMapper يتم استخدامه لتعيين إستراتيجية تضمين خاصية POJO الافتراضية للتسلسل.
setPropertyNamingStrategy(PropertyNamingStrategy) ObjectMapper يتم استخدامه لتعيين استراتيجية تسمية الخاصية المخصصة للاستخدام.
setSerializerFactory(SerializerFactory f) ObjectMapper يتم استخدامه لتعيين SerializerFactory المحدد لاستخدامه في إنشاء مُسلسلات (الفاصوليا).
setSerializerProvider(DefaultSerializerProvider p) ObjectMapper يتم استخدامه لتعيين مثيل SerializerProvider 'المخطط' لاستخدامه كقاعدة لمثيلات الموفر الفعلي لاستخدامه في معالجة التخزين المؤقت لمثيلات JsonSerializer.
setSubtypeResolver(SubtypeResolver سلسلة) ObjectMapper يتم استخدامه لتعيين محلل النوع الفرعي المخصص للاستخدام.
setTimeZone(المنطقة الزمنية tz) ObjectMapper يتم استخدامه لتجاوز المنطقة الزمنية الافتراضية لاستخدامها في التنسيق.
setTypeFactory(TypeFactory و) ObjectMapper يتم استخدامه لتجاوز مثيل TypeFactory، والذي يستخدمه مصمم الخرائط الحالي.
setVisibility(PropertyAccessor forMethod, JsonAutoDetect.رؤية الرؤية)
  1. setVisibility(VisibilityChecker vc)
  2. setVisibilityChecker(VisibilityChecker vc)
ObjectMapper يتم استخدام setVisibility() وتنوعها لتعيين VisibilityChecker الذي تم تكوينه حاليًا. يتم استخدام مثيل ObjectMapper الذي تم إرجاعه للتحقق مما إذا كان يمكن اكتشاف عنصر الخاصية المحدد تلقائيًا أم لا.
TreeAsTokens(TreeNode n) JsonParser يتم استخدامه لإنشاء JsonParser من تمثيل شجرة JSON.
TreeToValue(TreeNode n، فئة قيمة النوع) ت يتم استخدامه لربط البيانات المعطاة التي تحتوي عليها شجرة JSON بنوع قيمة محدد.
إصدار() إصدار يتم استخدامه للحصول على معلومات الإصدار المخزنة في الجرة التي تحتوي على هذه الفئة وقراءتها منها.
كاتب()
  1. الكاتب (Base64Variant defaultBase64)
  2. كاتب (هروب الشخصيات)
  3. الكاتب (سمات السياق)
  4. الكاتب (DateFormat df)
  5. الكاتب (FilterProvider filterProvider)
  6. كاتب (مخطط تنسيق التنسيق)
  7. كاتب (PrettyPrinter ص)
  8. الكاتب (ميزة ميزة التسلسل)
  9. كاتب (ميزة التسلسل أولاً، ميزة التسلسل... أخرى)
كاتب الكائن تُستخدم الدالة write() وأشكالها المختلفة لإنشاء ObjectWriter بالإعدادات الافتراضية، نظرًا لمتغير ترميز Base64 للبيانات الثنائية المشفرة بـ Base64، وتفاصيل هروب الأحرف للإخراج، والسمات الافتراضية، وDateFormat، وموفر عامل التصفية، وكائن المخطط إلى JsonGenerator المستخدم لكتابة المحتوى، طابعة جميلة للمسافة البادئة، أو تمكين الميزة.
الكاتب من أجل (نوع جذر الفئة) - كاتب الكائن يتم استخدامه لإنشاء ObjectWriter لإجراء تسلسل للكائنات باستخدام نوع جذر محدد بدلاً من نوع القيمة الفعلي لوقت التشغيل.
الكاتب من أجل (JavaType rootType) كاتب الكائن يتم استخدامه لإنشاء ObjectWriter لإجراء تسلسل للكائنات باستخدام نوع جذر محدد بدلاً من نوع القيمة الفعلي لوقت التشغيل.
WriterFor(TypeReference rootType) كاتب الكائن يتم استخدامه لإنشاء ObjectWriter لإجراء تسلسل للكائنات باستخدام نوع جذر محدد بدلاً من نوع القيمة الفعلي لوقت التشغيل.
الكاتب مع الافتراضيPrettyPrinter () كاتب الكائن إنها طريقة مصنع تُستخدم لإنشاء ObjectWriter لإجراء تسلسل للكائنات باستخدام الطابعة الافتراضية جدًا للمسافة البادئة.
WriterWithType(نوع جذر الفئة)
  1. WriterWithType(نوع جذر الفئة)
  2. الكاتب مع النوع (نوع الجذر المرجعي)
كاتب الكائن تم إهلاك هذه الطرق، وبدلاً منها، نستخدم طريقة writeFor(TypeReference).
الكاتب مع عرض (عرض تسلسل الفصل) كاتب الكائن إنها طريقة مصنع تُستخدم لإنشاء ObjectWriter لإجراء تسلسل للكائنات باستخدام عرض JSON المحدد.
writeTree(JsonGenerator jgen، JsonNode rootNode) فارغ يتم استخدامه لإجراء تسلسل لشجرة JSON المقدمة باستخدام JsonGenerator المحدد.
writeValue(ملف نتيجة الملف، قيمة الكائن) فارغ يتم استخدامه لإجراء تسلسل لقيمة Java كمخرجات JSON وكتابتها إلى المعطى ملف.
writeValue(JsonGenerator g، قيمة الكائن). فارغ يتم استخدامه لإجراء تسلسل لقيم Java كمخرجات JSON باستخدام المعطى JsonGenerator.
writeValue(OutputStream out، قيمة الكائن) فارغ يتم استخدامه لإجراء تسلسل لقيمة Java كمخرجات JSON باستخدام المعطى تيار الإخراج.
writeValue(الكاتب ث، قيمة الكائن) فارغ يتم استخدامه لإجراء تسلسل لقيم 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 في جاكسون