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.12.4-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/json/JsonMapper.java

    package com.fasterxml.jackson.databind.json;
    
    import com.fasterxml.jackson.core.JsonFactory;
    import com.fasterxml.jackson.core.Version;
    import com.fasterxml.jackson.core.json.JsonReadFeature;
    import com.fasterxml.jackson.core.json.JsonWriteFeature;
    
    import com.fasterxml.jackson.databind.ObjectMapper;
    import com.fasterxml.jackson.databind.cfg.MapperBuilder;
    import com.fasterxml.jackson.databind.cfg.PackageVersion;
    
    /**
     * JSON-format specific {@link ObjectMapper} implementation.
     *
     * @since 2.10
     */
    public class JsonMapper extends ObjectMapper
    {
        private static final long serialVersionUID = 1L;
    
        /**
         * Base implementation for "Vanilla" {@link ObjectMapper}, used with
         * JSON dataformat backend.
         *
         * @since 2.10
         */
        public static class Builder extends MapperBuilder<JsonMapper, Builder>
        {
            public Builder(JsonMapper m) {
                super(m);
            }
    
            public Builder enable(JsonReadFeature... features)  {
                for (JsonReadFeature f : features) {
                    _mapper.enable(f.mappedFeature());
                }
                return this;
            }
    
            public Builder disable(JsonReadFeature... features) {
                for (JsonReadFeature f : features) {
                    _mapper.disable(f.mappedFeature());
                }
                return this;
            }
    
            public Builder configure(JsonReadFeature f, boolean state)
            {
                if (state) {
                    _mapper.enable(f.mappedFeature());
                } else {
                    _mapper.disable(f.mappedFeature());
                }
                return this;
            }
    
            public Builder enable(JsonWriteFeature... features)  {
                for (JsonWriteFeature f : features) {
                    _mapper.enable(f.mappedFeature());
                }
                return this;
            }
    
            public Builder disable(JsonWriteFeature... features) {
                for (JsonWriteFeature f : features) {
                    _mapper.disable(f.mappedFeature());
                }
                return this;
            }
    
            public Builder configure(JsonWriteFeature f, boolean state)
            {
                if (state) {
                    _mapper.enable(f.mappedFeature());
                } else {
                    _mapper.disable(f.mappedFeature());
                }
                return this;
            }
        }
    
        /*
        /**********************************************************
        /* Life-cycle, constructors
        /**********************************************************
         */
    
        public JsonMapper() {
            this(new JsonFactory());
        }
    
        public JsonMapper(JsonFactory f) {
            super(f);
        }
    
        protected JsonMapper(JsonMapper src) {
            super(src);
        }
    
        @Override
        public JsonMapper copy()
        {
            _checkInvalidCopy(JsonMapper.class);
            return new JsonMapper(this);
        }
    
        /*
        /**********************************************************
        /* Life-cycle, builders
        /**********************************************************
         */
    
        public static JsonMapper.Builder builder() {
            return new Builder(new JsonMapper());
        }
    
        public static Builder builder(JsonFactory streamFactory) {
            return new Builder(new JsonMapper(streamFactory));
        }
    
        public JsonMapper.Builder  rebuild() {
            // 09-Dec-2018, tatu: Not as good as what 3.0 has wrt immutability, but best approximation
            //     we have for 2.x
            return new Builder(this.copy());
        }
    
        /*
        /**********************************************************
        /* Standard method overrides
        /**********************************************************
         */
    
        @Override
        public Version version() {
            return PackageVersion.VERSION;
        }
    
        @Override
        public JsonFactory getFactory() {
            return _jsonFactory;
        }
    
        /*
        /**********************************************************
        /* JSON-specific accessors, mutators
        /**********************************************************
         */
    
        // // // 25-Oct-2018, tatu: Since for 2.x these will simply map to legacy settings,
        // // //   we will fake them
        
        public boolean isEnabled(JsonReadFeature f) {
            return isEnabled(f.mappedFeature());
        }
    
        public boolean isEnabled(JsonWriteFeature f) {
            return isEnabled(f.mappedFeature());
        }
    }
    

    com/fasterxml/jackson/databind/json/JsonMapper.java

     

    ⇒ Jackson Annotations Source Code

    ⇐ Download and Install Jackson Binary Package

    ⇑ Downloading and Reviewing jackson-*.jar

    ⇑⇑ Jackson - Java JSON library

    2022-03-29, 32001👍, 0💬