Package com.jayway.jsonpath.spi.json
Class JacksonJsonNodeJsonProvider
java.lang.Object
com.jayway.jsonpath.spi.json.AbstractJsonProvider
com.jayway.jsonpath.spi.json.JacksonJsonNodeJsonProvider
- All Implemented Interfaces:
JsonProvider
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final com.fasterxml.jackson.databind.ObjectMapper
protected com.fasterxml.jackson.databind.ObjectMapper
Fields inherited from interface com.jayway.jsonpath.spi.json.JsonProvider
UNDEFINED
-
Constructor Summary
ConstructorsConstructorDescriptionInitialize the JacksonTreeJsonProvider with the default ObjectMapper and ObjectReaderJacksonJsonNodeJsonProvider
(com.fasterxml.jackson.databind.ObjectMapper objectMapper) Initialize the JacksonTreeJsonProvider with a custom ObjectMapper and ObjectReader. -
Method Summary
Modifier and TypeMethodDescriptionCreates a provider specific json arrayprivate com.fasterxml.jackson.databind.JsonNode
Creates a provider specific json objectgetArrayIndex
(Object obj, int idx) Extracts a value from an arraygetMapValue
(Object obj, String key) Extracts a value from an mapcom.fasterxml.jackson.databind.ObjectMapper
getPropertyKeys
(Object obj) Returns the keys from the given objectboolean
checks if object is an arrayboolean
checks if object is a map (i.e.int
Get the length of an array or objectparse
(InputStream jsonStream, String charset) Parse the given json stringParse the given json stringvoid
removeProperty
(Object obj, Object key) Removes a value in an object or arrayvoid
setArrayIndex
(Object array, int index, Object newValue) Sets a value in an array.void
setProperty
(Object obj, Object key, Object value) Sets a value in an objectIterable
<?> toIterable
(Object obj) Converts given array to anIterable
Convert given json object to a json stringprivate com.fasterxml.jackson.databind.node.ArrayNode
private com.fasterxml.jackson.databind.node.ObjectNode
Extracts a value from a wrapper object.Methods inherited from class com.jayway.jsonpath.spi.json.AbstractJsonProvider
getArrayIndex
-
Field Details
-
defaultObjectMapper
private static final com.fasterxml.jackson.databind.ObjectMapper defaultObjectMapper -
objectMapper
protected com.fasterxml.jackson.databind.ObjectMapper objectMapper
-
-
Constructor Details
-
JacksonJsonNodeJsonProvider
public JacksonJsonNodeJsonProvider()Initialize the JacksonTreeJsonProvider with the default ObjectMapper and ObjectReader -
JacksonJsonNodeJsonProvider
public JacksonJsonNodeJsonProvider(com.fasterxml.jackson.databind.ObjectMapper objectMapper) Initialize the JacksonTreeJsonProvider with a custom ObjectMapper and ObjectReader.- Parameters:
objectMapper
- the ObjectMapper to use
-
-
Method Details
-
getObjectMapper
public com.fasterxml.jackson.databind.ObjectMapper getObjectMapper() -
parse
Description copied from interface:JsonProvider
Parse the given json string- Parameters:
json
- json string to parse- Returns:
- Object representation of json
- Throws:
InvalidJsonException
-
parse
Description copied from interface:JsonProvider
Parse the given json string- Parameters:
jsonStream
- input stream to parsecharset
- charset to use- Returns:
- Object representation of json
- Throws:
InvalidJsonException
-
toJson
Description copied from interface:JsonProvider
Convert given json object to a json string- Parameters:
obj
- object to transform- Returns:
- json representation of object
-
createArray
Description copied from interface:JsonProvider
Creates a provider specific json array- Returns:
- new array
-
createMap
Description copied from interface:JsonProvider
Creates a provider specific json object- Returns:
- new object
-
unwrap
Description copied from interface:JsonProvider
Extracts a value from a wrapper object. For JSON providers that to not wrap values, this will usually be the object itself.- Specified by:
unwrap
in interfaceJsonProvider
- Overrides:
unwrap
in classAbstractJsonProvider
- Parameters:
o
- a value holder object- Returns:
- the unwrapped value.
-
isArray
Description copied from class:AbstractJsonProvider
checks if object is an array- Specified by:
isArray
in interfaceJsonProvider
- Overrides:
isArray
in classAbstractJsonProvider
- Parameters:
obj
- object to check- Returns:
- true if obj is an array
-
getArrayIndex
Description copied from class:AbstractJsonProvider
Extracts a value from an array- Specified by:
getArrayIndex
in interfaceJsonProvider
- Overrides:
getArrayIndex
in classAbstractJsonProvider
- Parameters:
obj
- an arrayidx
- index- Returns:
- the entry at the given index
-
setArrayIndex
Description copied from interface:JsonProvider
Sets a value in an array. If the array is too small, the provider is supposed to enlarge it.- Specified by:
setArrayIndex
in interfaceJsonProvider
- Overrides:
setArrayIndex
in classAbstractJsonProvider
- Parameters:
array
- an arrayindex
- indexnewValue
- the new value
-
getMapValue
Description copied from class:AbstractJsonProvider
Extracts a value from an map- Specified by:
getMapValue
in interfaceJsonProvider
- Overrides:
getMapValue
in classAbstractJsonProvider
- Parameters:
obj
- a mapkey
- property key- Returns:
- the map entry or
JsonProvider.UNDEFINED
for missing properties
-
setProperty
Description copied from class:AbstractJsonProvider
Sets a value in an object- Specified by:
setProperty
in interfaceJsonProvider
- Overrides:
setProperty
in classAbstractJsonProvider
- Parameters:
obj
- an objectkey
- a String keyvalue
- the value to set
-
removeProperty
Description copied from class:AbstractJsonProvider
Removes a value in an object or array- Specified by:
removeProperty
in interfaceJsonProvider
- Overrides:
removeProperty
in classAbstractJsonProvider
- Parameters:
obj
- an array or an objectkey
- a String key or a numerical index to remove
-
isMap
Description copied from class:AbstractJsonProvider
checks if object is a map (i.e. no array)- Specified by:
isMap
in interfaceJsonProvider
- Overrides:
isMap
in classAbstractJsonProvider
- Parameters:
obj
- object to check- Returns:
- true if the object is a map
-
getPropertyKeys
Description copied from class:AbstractJsonProvider
Returns the keys from the given object- Specified by:
getPropertyKeys
in interfaceJsonProvider
- Overrides:
getPropertyKeys
in classAbstractJsonProvider
- Parameters:
obj
- an object- Returns:
- the keys for an object
-
length
Description copied from class:AbstractJsonProvider
Get the length of an array or object- Specified by:
length
in interfaceJsonProvider
- Overrides:
length
in classAbstractJsonProvider
- Parameters:
obj
- an array or an object- Returns:
- the number of entries in the array or object
-
toIterable
Description copied from class:AbstractJsonProvider
Converts given array to anIterable
- Specified by:
toIterable
in interfaceJsonProvider
- Overrides:
toIterable
in classAbstractJsonProvider
- Parameters:
obj
- an array- Returns:
- an Iterable that iterates over the entries of an array
-
createJsonElement
-
toJsonArray
-
toJsonObject
-