Class JsonDataFormat

All Implemented Interfaces:
ContentTypeHeaderAware

@Metadata(label="dataformat,transformation,json", title="JSon") public class JsonDataFormat extends DataFormatDefinition implements ContentTypeHeaderAware
Marshal POJOs to JSON and back.
  • Constructor Details

    • JsonDataFormat

      public JsonDataFormat()
    • JsonDataFormat

      public JsonDataFormat(JsonLibrary library)
  • Method Details

    • getDataFormatName

      public String getDataFormatName()
      Overrides:
      getDataFormatName in class DataFormatDefinition
    • getContentTypeHeader

      public String getContentTypeHeader()
      Description copied from interface: ContentTypeHeaderAware
      Whether the data format should set the Content-Type header with the type from the data format.

      For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSON etc.

      Specified by:
      getContentTypeHeader in interface ContentTypeHeaderAware
    • setContentTypeHeader

      public void setContentTypeHeader(String contentTypeHeader)
      Description copied from interface: ContentTypeHeaderAware
      Whether the data format should set the Content-Type header with the type from the data format.

      For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSON etc.

      Specified by:
      setContentTypeHeader in interface ContentTypeHeaderAware
    • getDateFormatPattern

      public String getDateFormatPattern()
    • setDateFormatPattern

      public void setDateFormatPattern(String dateFormatPattern)
    • getObjectMapper

      public String getObjectMapper()
    • setObjectMapper

      public void setObjectMapper(String objectMapper)
      Lookup and use the existing ObjectMapper with the given id when using Jackson.
    • getUseDefaultObjectMapper

      public String getUseDefaultObjectMapper()
    • setUseDefaultObjectMapper

      public void setUseDefaultObjectMapper(String useDefaultObjectMapper)
      Whether to lookup and use default Jackson ObjectMapper from the registry.
    • getPrettyPrint

      public String getPrettyPrint()
    • setPrettyPrint

      public void setPrettyPrint(String prettyPrint)
      To enable pretty printing output nicely formatted.

      Is by default false.

    • getUnmarshalTypeName

      public String getUnmarshalTypeName()
    • setUnmarshalTypeName

      public void setUnmarshalTypeName(String unmarshalTypeName)
      Class name of the java type to use when unmarshalling
    • getUnmarshalType

      public Class<?> getUnmarshalType()
    • setUnmarshalType

      public void setUnmarshalType(Class<?> unmarshalType)
      Class of the java type to use when unmarshalling
    • getLibrary

      public JsonLibrary getLibrary()
    • setLibrary

      public void setLibrary(JsonLibrary library)
      Which json library to use.
    • getJsonViewTypeName

      public String getJsonViewTypeName()
    • setJsonViewTypeName

      public void setJsonViewTypeName(String jsonViewTypeName)
      When marshalling a POJO to JSON you might want to exclude certain fields from the JSON output. With Jackson you can use JSON views to accomplish this. This option is to refer to the class which has @JsonView annotations
    • getJsonView

      public Class<?> getJsonView()
    • setJsonView

      public void setJsonView(Class<?> jsonView)
      When marshalling a POJO to JSON you might want to exclude certain fields from the JSON output. With Jackson you can use JSON views to accomplish this. This option is to refer to the class which has @JsonView annotations
    • getInclude

      public String getInclude()
    • setInclude

      public void setInclude(String include)
      If you want to marshal a pojo to JSON, and the pojo has some fields with null values. And you want to skip these null values, you can set this option to NON_NULL
    • getAllowJmsType

      public String getAllowJmsType()
    • setAllowJmsType

      public void setAllowJmsType(String allowJmsType)
      Used for JMS users to allow the JMSType header from the JMS spec to specify a FQN classname to use to unmarshal to.
    • getCollectionTypeName

      public String getCollectionTypeName()
    • setCollectionTypeName

      public void setCollectionTypeName(String collectionTypeName)
      Refers to a custom collection type to lookup in the registry to use. This option should rarely be used, but allows using different collection types than java.util.Collection based as default.
    • getCollectionType

      public Class<?> getCollectionType()
    • setCollectionType

      public void setCollectionType(Class<?> collectionType)
    • getUseList

      public String getUseList()
    • setUseList

      public void setUseList(String useList)
      To unmarshal to a List of Map or a List of Pojo.
    • getModuleClassNames

      public String getModuleClassNames()
    • setModuleClassNames

      public void setModuleClassNames(String moduleClassNames)
      To use custom Jackson modules com.fasterxml.jackson.databind.Module specified as a String with FQN class names. Multiple classes can be separated by comma.
    • getModuleRefs

      public String getModuleRefs()
    • setModuleRefs

      public void setModuleRefs(String moduleRefs)
      To use custom Jackson modules referred from the Camel registry. Multiple modules can be separated by comma.
    • getEnableFeatures

      public String getEnableFeatures()
    • setEnableFeatures

      public void setEnableFeatures(String enableFeatures)
      Set of features to enable on the Jackson com.fasterxml.jackson.databind.ObjectMapper.

      The features should be a name that matches a enum from com.fasterxml.jackson.databind.SerializationFeature, com.fasterxml.jackson.databind.DeserializationFeature, or com.fasterxml.jackson.databind.MapperFeature

      Multiple features can be separated by comma

    • getDisableFeatures

      public String getDisableFeatures()
    • setDisableFeatures

      public void setDisableFeatures(String disableFeatures)
      Set of features to disable on the Jackson com.fasterxml.jackson.databind.ObjectMapper.

      The features should be a name that matches a enum from com.fasterxml.jackson.databind.SerializationFeature, com.fasterxml.jackson.databind.DeserializationFeature, or com.fasterxml.jackson.databind.MapperFeature

      Multiple features can be separated by comma

    • getAllowUnmarshallType

      public String getAllowUnmarshallType()
    • setAllowUnmarshallType

      public void setAllowUnmarshallType(String allowUnmarshallType)
      If enabled then Jackson is allowed to attempt to use the CamelJacksonUnmarshalType header during the unmarshalling.

      This should only be enabled when desired to be used.

    • getTimezone

      public String getTimezone()
    • setTimezone

      public void setTimezone(String timezone)
      If set then Jackson will use the Timezone when marshalling/unmarshalling. This option will have no effect on the others Json DataFormat, like gson and fastjson.
    • getAutoDiscoverObjectMapper

      public String getAutoDiscoverObjectMapper()
    • setAutoDiscoverObjectMapper

      public void setAutoDiscoverObjectMapper(String autoDiscoverObjectMapper)
      If set to true then Jackson will look for an objectMapper to use from the registry
    • setSchemaResolver

      public void setSchemaResolver(String schemaResolver)
      Optional schema resolver used to lookup schemas for the data in transit.
    • getSchemaResolver

      public String getSchemaResolver()
    • getAutoDiscoverSchemaResolver

      public String getAutoDiscoverSchemaResolver()
    • setAutoDiscoverSchemaResolver

      public void setAutoDiscoverSchemaResolver(String autoDiscoverSchemaResolver)
      When not disabled, the SchemaResolver will be looked up into the registry
    • getNamingStrategy

      public String getNamingStrategy()
    • setNamingStrategy

      public void setNamingStrategy(String namingStrategy)
      If set then Jackson will use the the defined Property Naming Strategy. Possible values are: LOWER_CAMEL_CASE, LOWER_DOT_CASE, LOWER_CASE, KEBAB_CASE, SNAKE_CASE and UPPER_CAMEL_CASE
    • objectMapper

      public JsonDataFormat objectMapper(String objectMapper)
    • useDefaultObjectMapper

      public JsonDataFormat useDefaultObjectMapper(boolean useDefaultObjectMapper)
    • useDefaultObjectMapper

      public JsonDataFormat useDefaultObjectMapper(String useDefaultObjectMapper)
    • prettyPrint

      public JsonDataFormat prettyPrint(boolean prettyPrint)
    • prettyPrint

      public JsonDataFormat prettyPrint(String prettyPrint)
    • library

      public JsonDataFormat library(JsonLibrary library)
    • unmarshalType

      public JsonDataFormat unmarshalType(String unmarshalType)
    • unmarshalType

      public JsonDataFormat unmarshalType(Class<?> unmarshalType)
    • jsonView

      public JsonDataFormat jsonView(Class<?> jsonView)
    • include

      public JsonDataFormat include(String include)
    • allowJmsType

      public JsonDataFormat allowJmsType(boolean allowJmsType)
    • allowJmsType

      public JsonDataFormat allowJmsType(String allowJmsType)
    • collectionType

      public JsonDataFormat collectionType(String collectionType)
    • collectionType

      public JsonDataFormat collectionType(Class<?> collectionType)
    • useList

      public JsonDataFormat useList(boolean useList)
    • useList

      public JsonDataFormat useList(String useList)
    • moduleClassNames

      public JsonDataFormat moduleClassNames(String moduleClassNames)
    • moduleRefs

      public JsonDataFormat moduleRefs(String moduleRefs)
    • enableFeatures

      public JsonDataFormat enableFeatures(String enableFeatures)
    • disableFeatures

      public JsonDataFormat disableFeatures(String disableFeatures)
    • allowUnmarshallType

      public JsonDataFormat allowUnmarshallType(boolean allowUnmarshallType)
    • allowUnmarshallType

      public JsonDataFormat allowUnmarshallType(String allowUnmarshallType)
    • timezone

      public JsonDataFormat timezone(String timezone)
    • autoDiscoverObjectMapper

      public JsonDataFormat autoDiscoverObjectMapper(boolean autoDiscoverObjectMapper)
    • autoDiscoverObjectMapper

      public JsonDataFormat autoDiscoverObjectMapper(String autoDiscoverObjectMapper)
    • namingStrategy

      public JsonDataFormat namingStrategy(String namingStrategy)