Package com.bazaarvoice.jolt
Class JsonUtils
- java.lang.Object
-
- com.bazaarvoice.jolt.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.
-
-
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 Mapobject 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)
-
-
-
Field Detail
-
util
private static final JsonUtil util
-
-
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 Mapobject 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 objectpaths
- the paths array to travel- Returns:
- the object of Type
at final destination - Throws:
java.lang.NullPointerException
- if the source is nulljava.lang.UnsupportedOperationException
- if the source is not Map or List
-
-