Class JsonUtils


  • public class JsonUtils
    extends java.lang.Object
    Static method convenience wrappers for a JsonUtil configured with a minimal ObjectMapper. The ObjectMapper use is configured to : Allow comments in the JSON strings, Hydrates all JSON Maps into LinkedHashMaps.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private static JsonUtil util  
    • Constructor Summary

      Constructors 
      Constructor Description
      JsonUtils()  
    • Method Summary

      All Methods Static Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      static java.util.List<java.lang.Object> classpathToList​(java.lang.String classPath)  
      static java.util.Map<java.lang.String,​java.lang.Object> classpathToMap​(java.lang.String classPath)  
      static java.lang.Object classpathToObject​(java.lang.String classPath)  
      static <T> T classpathToType​(java.lang.String classPath, com.fasterxml.jackson.core.type.TypeReference<T> typeRef)  
      static <T> T classpathToType​(java.lang.String classPath, java.lang.Class<T> aClass)  
      static java.lang.Object cloneJson​(java.lang.Object obj)
      Makes a deep copy of a Map object by converting it to a String and then back onto stock JSON objects.
      static JsonUtil customJsonUtil​(com.fasterxml.jackson.databind.ObjectMapper mapper)
      Construct a JsonUtil with a Jackson ObjectMapper that has been preconfigured with custom Modules or Mixins.
      static java.util.List<java.lang.Object> filepathToList​(java.lang.String filePath)  
      static java.util.Map<java.lang.String,​java.lang.Object> filepathToMap​(java.lang.String filePath)  
      static java.lang.Object filepathToObject​(java.lang.String filePath)  
      static <T> T fileToType​(java.lang.String filePath, com.fasterxml.jackson.core.type.TypeReference<T> typeRef)  
      static <T> T fileToType​(java.lang.String filePath, java.lang.Class<T> aClass)  
      static JsonUtil getDefaultJsonUtil()  
      static java.util.Map<java.lang.String,​java.lang.Object> javason​(java.lang.String javason)
      Utility for test classes, so that they can inline json in a test class.
      static <T> T jsonTo​(java.io.InputStream in, com.fasterxml.jackson.core.type.TypeReference<T> typeRef)
      Deprecated.
      static <T> T jsonTo​(java.lang.String json, com.fasterxml.jackson.core.type.TypeReference<T> typeRef)
      Deprecated.
      static java.util.List<java.lang.Object> jsonToList​(java.io.InputStream in)  
      static java.util.List<java.lang.Object> jsonToList​(java.lang.String json)  
      static java.util.List<java.lang.Object> jsonToList​(java.lang.String json, java.lang.String charset)  
      static java.util.Map<java.lang.String,​java.lang.Object> jsonToMap​(java.io.InputStream in)  
      static java.util.Map<java.lang.String,​java.lang.Object> jsonToMap​(java.lang.String json)  
      static java.util.Map<java.lang.String,​java.lang.Object> jsonToMap​(java.lang.String json, java.lang.String charset)  
      static java.lang.Object jsonToObject​(java.io.InputStream in)  
      static java.lang.Object jsonToObject​(java.lang.String json)  
      static java.lang.Object jsonToObject​(java.lang.String json, java.lang.String charset)  
      static <T> T navigate​(java.lang.Object source, java.lang.Object... paths)
      Deprecated.
      static void removeRecursive​(java.lang.Object json, java.lang.String keyToRemove)
      Deprecated.
      static <T> T streamToType​(java.io.InputStream in, com.fasterxml.jackson.core.type.TypeReference<T> typeRef)  
      static <T> T streamToType​(java.io.InputStream in, java.lang.Class<T> aClass)  
      static <T> T stringToType​(java.lang.String json, com.fasterxml.jackson.core.type.TypeReference<T> typeRef)  
      static <T> T stringToType​(java.lang.String json, java.lang.Class<T> aClass)  
      static java.lang.String toJsonString​(java.lang.Object obj)  
      static java.lang.String toPrettyJsonString​(java.lang.Object obj)  
      • Methods inherited from class java.lang.Object

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

      • util

        private static final JsonUtil util
    • Constructor Detail

      • JsonUtils

        public JsonUtils()
    • Method Detail

      • customJsonUtil

        public static JsonUtil customJsonUtil​(com.fasterxml.jackson.databind.ObjectMapper mapper)
        Construct a JsonUtil with a Jackson ObjectMapper that has been preconfigured with custom Modules or Mixins.
      • removeRecursive

        @Deprecated
        public static void removeRecursive​(java.lang.Object json,
                                           java.lang.String keyToRemove)
        Deprecated.
        Removes a key recursively from anywhere in a JSON document. NOTE: mutates its input. Deprecated: use JoltUtils instead
        Parameters:
        json - the Jackson Object version of the JSON document (contents changed by this call)
        keyToRemove - the key to remove from the document
      • javason

        public static java.util.Map<java.lang.String,​java.lang.Object> javason​(java.lang.String javason)
        Utility for test classes, so that they can inline json in a test class. Does a character level replacement of apostrophe (') with double quote ("). This means you can express a snippit of JSON without having to forward slash escape everything. This is character based, so don't have any apostrophes (') in your test data.
        Parameters:
        javason - JSON-ish string you want to turn into Maps-of-Maps
        Returns:
        Maps-of-Maps
      • getDefaultJsonUtil

        public static JsonUtil getDefaultJsonUtil()
      • jsonToObject

        public static java.lang.Object jsonToObject​(java.lang.String json)
      • jsonToObject

        public static java.lang.Object jsonToObject​(java.lang.String json,
                                                    java.lang.String charset)
      • jsonToObject

        public static java.lang.Object jsonToObject​(java.io.InputStream in)
      • jsonToMap

        public static java.util.Map<java.lang.String,​java.lang.Object> jsonToMap​(java.lang.String json)
      • jsonToMap

        public static java.util.Map<java.lang.String,​java.lang.Object> jsonToMap​(java.lang.String json,
                                                                                       java.lang.String charset)
      • jsonToMap

        public static java.util.Map<java.lang.String,​java.lang.Object> jsonToMap​(java.io.InputStream in)
      • jsonToList

        public static java.util.List<java.lang.Object> jsonToList​(java.lang.String json)
      • jsonToList

        public static java.util.List<java.lang.Object> jsonToList​(java.lang.String json,
                                                                  java.lang.String charset)
      • jsonToList

        public static java.util.List<java.lang.Object> jsonToList​(java.io.InputStream in)
      • filepathToObject

        public static java.lang.Object filepathToObject​(java.lang.String filePath)
      • filepathToMap

        public static java.util.Map<java.lang.String,​java.lang.Object> filepathToMap​(java.lang.String filePath)
      • filepathToList

        public static java.util.List<java.lang.Object> filepathToList​(java.lang.String filePath)
      • classpathToObject

        public static java.lang.Object classpathToObject​(java.lang.String classPath)
      • classpathToMap

        public static java.util.Map<java.lang.String,​java.lang.Object> classpathToMap​(java.lang.String classPath)
      • classpathToList

        public static java.util.List<java.lang.Object> classpathToList​(java.lang.String classPath)
      • classpathToType

        public static <T> T classpathToType​(java.lang.String classPath,
                                            com.fasterxml.jackson.core.type.TypeReference<T> typeRef)
      • classpathToType

        public static <T> T classpathToType​(java.lang.String classPath,
                                            java.lang.Class<T> aClass)
      • stringToType

        public static <T> T stringToType​(java.lang.String json,
                                         com.fasterxml.jackson.core.type.TypeReference<T> typeRef)
      • stringToType

        public static <T> T stringToType​(java.lang.String json,
                                         java.lang.Class<T> aClass)
      • fileToType

        public static <T> T fileToType​(java.lang.String filePath,
                                       com.fasterxml.jackson.core.type.TypeReference<T> typeRef)
      • fileToType

        public static <T> T fileToType​(java.lang.String filePath,
                                       java.lang.Class<T> aClass)
      • streamToType

        public static <T> T streamToType​(java.io.InputStream in,
                                         com.fasterxml.jackson.core.type.TypeReference<T> typeRef)
      • streamToType

        public static <T> T streamToType​(java.io.InputStream in,
                                         java.lang.Class<T> aClass)
      • jsonTo

        @Deprecated
        public static <T> T jsonTo​(java.lang.String json,
                                   com.fasterxml.jackson.core.type.TypeReference<T> typeRef)
        Deprecated.
        Use the stringToType method instead.
      • jsonTo

        @Deprecated
        public static <T> T jsonTo​(java.io.InputStream in,
                                   com.fasterxml.jackson.core.type.TypeReference<T> typeRef)
        Deprecated.
        Use the streamToType method instead.
      • toJsonString

        public static java.lang.String toJsonString​(java.lang.Object obj)
      • toPrettyJsonString

        public static java.lang.String toPrettyJsonString​(java.lang.Object obj)
      • cloneJson

        public static java.lang.Object cloneJson​(java.lang.Object obj)
        Makes a deep copy of a Map object by converting it to a String and then back onto stock JSON objects.
        Parameters:
        obj - object tree to copy
        Returns:
        deep copy of the incoming obj
      • navigate

        @Deprecated
        public static <T> T navigate​(java.lang.Object source,
                                     java.lang.Object... paths)
                              throws java.lang.NullPointerException,
                                     java.lang.UnsupportedOperationException
        Deprecated.
        Navigate inside a json object in quick and dirty way. Deprecated: use JoltUtils instead
        Parameters:
        source - the source json object
        paths - the paths array to travel
        Returns:
        the object of Type at final destination
        Throws:
        java.lang.NullPointerException - if the source is null
        java.lang.UnsupportedOperationException - if the source is not Map or List