Class ObjectCodec

  • Direct Known Subclasses:
    ObjectMapper, ObjectReader

    public abstract class ObjectCodec
    extends java.lang.Object
    Abstract class that defines the interface that JsonParser and JsonGenerator use to serialize and deserialize regular Java objects (POJOs aka Beans).

    The standard implementation of this class is ObjectMapper.

    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected ObjectCodec()  
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      abstract JsonNode createArrayNode()
      Method for construct root level Array nodes for Tree Model instances.
      abstract JsonNode createObjectNode()
      Method for construct root level Object nodes for Tree Model instances.
      abstract JsonNode readTree​(JsonParser jp)
      Method to deserialize JSON content as tree expressed using set of JsonNode instances.
      abstract <T> T readValue​(JsonParser jp, java.lang.Class<T> valueType)
      Method to deserialize JSON content into a non-container type (it can be an array type, however): typically a bean, array or a wrapper type (like Boolean).
      abstract <T> T readValue​(JsonParser jp, JavaType valueType)
      Method to deserialize JSON content as tree expressed using set of JsonNode instances.
      abstract <T> T readValue​(JsonParser jp, TypeReference<?> valueTypeRef)
      Method to deserialize JSON content into a Java type, reference to which is passed as argument.
      abstract <T> java.util.Iterator<T> readValues​(JsonParser jp, java.lang.Class<T> valueType)
      Method for reading sequence of Objects from parser stream, all with same specified value type.
      abstract <T> java.util.Iterator<T> readValues​(JsonParser jp, JavaType valueType)
      Method for reading sequence of Objects from parser stream, all with same specified value type.
      abstract <T> java.util.Iterator<T> readValues​(JsonParser jp, TypeReference<?> valueTypeRef)
      Method for reading sequence of Objects from parser stream, all with same specified value type.
      abstract JsonParser treeAsTokens​(JsonNode n)
      Method for constructing a JsonParser for reading contents of a JSON tree, as if it was external serialized JSON content.
      abstract <T> T treeToValue​(JsonNode n, java.lang.Class<T> valueType)
      Convenience method for converting given JSON tree into instance of specified value type.
      abstract void writeTree​(JsonGenerator jgen, JsonNode rootNode)
      Method to serialize given Json Tree, using generator provided.
      abstract void writeValue​(JsonGenerator jgen, java.lang.Object value)
      Method to serialize given Java Object, using generator provided.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ObjectCodec

        protected ObjectCodec()
    • Method Detail

      • readValue

        public abstract <T> T readValue​(JsonParser jp,
                                        java.lang.Class<T> valueType)
                                 throws java.io.IOException,
                                        JsonProcessingException
        Method to deserialize JSON content into a non-container type (it can be an array type, however): typically a bean, array or a wrapper type (like Boolean).

        Note: this method should NOT be used if the result type is a container (Collection or Map. The reason is that due to type erasure, key and value types can not be introspected when using this method.

        Throws:
        java.io.IOException
        JsonProcessingException
      • readValue

        public abstract <T> T readValue​(JsonParser jp,
                                        TypeReference<?> valueTypeRef)
                                 throws java.io.IOException,
                                        JsonProcessingException
        Method to deserialize JSON content into a Java type, reference to which is passed as argument. Type is passed using so-called "super type token" and specifically needs to be used if the root type is a parameterized (generic) container type.
        Throws:
        java.io.IOException
        JsonProcessingException
      • readValue

        public abstract <T> T readValue​(JsonParser jp,
                                        JavaType valueType)
                                 throws java.io.IOException,
                                        JsonProcessingException
        Method to deserialize JSON content as tree expressed using set of JsonNode instances. Returns root of the resulting tree (where root can consist of just a single node if the current event is a value event, not container).
        Throws:
        java.io.IOException
        JsonProcessingException
      • readTree

        public abstract JsonNode readTree​(JsonParser jp)
                                   throws java.io.IOException,
                                          JsonProcessingException
        Method to deserialize JSON content as tree expressed using set of JsonNode instances. Returns root of the resulting tree (where root can consist of just a single node if the current event is a value event, not container).
        Throws:
        java.io.IOException
        JsonProcessingException
      • readValues

        public abstract <T> java.util.Iterator<T> readValues​(JsonParser jp,
                                                             java.lang.Class<T> valueType)
                                                      throws java.io.IOException,
                                                             JsonProcessingException
        Method for reading sequence of Objects from parser stream, all with same specified value type.
        Throws:
        java.io.IOException
        JsonProcessingException
        Since:
        1.9
      • createObjectNode

        public abstract JsonNode createObjectNode()
        Method for construct root level Object nodes for Tree Model instances.
        Since:
        1.2
      • createArrayNode

        public abstract JsonNode createArrayNode()
        Method for construct root level Array nodes for Tree Model instances.
        Since:
        1.2
      • treeAsTokens

        public abstract JsonParser treeAsTokens​(JsonNode n)
        Method for constructing a JsonParser for reading contents of a JSON tree, as if it was external serialized JSON content.
        Since:
        1.3
      • treeToValue

        public abstract <T> T treeToValue​(JsonNode n,
                                          java.lang.Class<T> valueType)
                                   throws java.io.IOException,
                                          JsonProcessingException
        Convenience method for converting given JSON tree into instance of specified value type. This is equivalent to first constructing a JsonParser to iterate over contents of the tree, and using that parser for data binding.
        Throws:
        java.io.IOException
        JsonProcessingException
        Since:
        1.3