Jackson Data Binding Source Code

Jackson is "the Java JSON library" or "the best JSON parser for Java". Or simply as "JSON for Java".

  • Jackson Data Binding module allows you to converts JSON to and from POJO (Plain Old Java Object) using property accessor or using annotations.
  • Jackson Databind Source Code files are provided in the source packge (jackson-databind-2.14.0-sources.jar). You can download it at Jackson Maven Website.

    You can also browse Jackson Databind Source Code below:

    ✍: FYIcenter.com

    com/fasterxml/jackson/databind/deser/std/JdkDeserializers.java

    package com.fasterxml.jackson.databind.deser.std;
    
    import java.nio.ByteBuffer;
    import java.util.*;
    import java.util.concurrent.atomic.AtomicBoolean;
    import java.util.concurrent.atomic.AtomicInteger;
    import java.util.concurrent.atomic.AtomicLong;
    
    import com.fasterxml.jackson.databind.*;
    
    /**
     * Container class that contains serializers for JDK types that
     * require special handling for some reason.
     */
    public class JdkDeserializers
    {
        private final static HashSet<String> _classNames = new HashSet<String>();
        static {
            // note: can skip primitive types; other ways to check them:
            Class<?>[] types = new Class<?>[] {
                    UUID.class,
                    AtomicBoolean.class,
                    AtomicInteger.class,
                    AtomicLong.class,
                    StackTraceElement.class,
                    ByteBuffer.class,
                    Void.class
            };
            for (Class<?> cls : types) { _classNames.add(cls.getName()); }
            for (Class<?> cls : FromStringDeserializer.types()) { _classNames.add(cls.getName()); }
        }
    
        /**
         * @deprecated Since 2.14 use the variant that takes one more argument
         */
        @Deprecated // since 2.14
        public static JsonDeserializer<?> find(Class<?> rawType, String clsName)
            throws JsonMappingException
        {
            return find(null, rawType, clsName);
        }
    
        /**
         * @since 2.14
         */
        public static JsonDeserializer<?> find(DeserializationContext ctxt,
                Class<?> rawType, String clsName)
            throws JsonMappingException
        {
            if (_classNames.contains(clsName)) {
                JsonDeserializer<?> d = FromStringDeserializer.findDeserializer(rawType);
                if (d != null) {
                    return d;
                }
                if (rawType == UUID.class) {
                    return new UUIDDeserializer();
                }
                if (rawType == StackTraceElement.class) {
                    return StackTraceElementDeserializer.construct(ctxt);
                }
                if (rawType == AtomicBoolean.class) {
                    return new AtomicBooleanDeserializer();
                }
                if (rawType == AtomicInteger.class) {
                    return new AtomicIntegerDeserializer();
                }
                if (rawType == AtomicLong.class) {
                    return new AtomicLongDeserializer();
                }
                if (rawType == ByteBuffer.class) {
                    return new ByteBufferDeserializer();
                }
                if (rawType == Void.class) {
                    return NullifyingDeserializer.instance;
                }
            }
            return null;
        }
    
        // @since 2.11
        public static boolean hasDeserializerFor(Class<?> rawType) {
            return _classNames.contains(rawType.getName());
        }
    }
    

    com/fasterxml/jackson/databind/deser/std/JdkDeserializers.java

     

    Or download all of them as a single archive file:

    File name: jackson-databind-2.14.0-sources.jar
    File size: 1187952 bytes
    Release date: 2022-11-05
    Download 
    

     

    Jackson Annotations Source Code

    Download and Install Jackson Binary Package

    Downloading and Reviewing jackson-*.jar

    ⇑⇑ Jackson - Java JSON library

    2022-03-29, 80746👍, 0💬