Package com.jayway.jsonpath.spi.json
Interface JsonProvider
-
- All Known Implementing Classes:
AbstractJsonProvider
,GsonJsonProvider
,JacksonJsonNodeJsonProvider
,JacksonJsonProvider
,JsonSmartJsonProvider
public interface JsonProvider
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.Object
UNDEFINED
-
Method Summary
All Methods Instance Methods Abstract Methods Deprecated Methods Modifier and Type Method Description java.lang.Object
createArray()
Creates a provider specific json arrayjava.lang.Object
createMap()
Creates a provider specific json objectjava.lang.Object
getArrayIndex(java.lang.Object obj, int idx)
Extracts a value from an array anw unwraps provider specific data typejava.lang.Object
getArrayIndex(java.lang.Object obj, int idx, boolean unwrap)
Deprecated.java.lang.Object
getMapValue(java.lang.Object obj, java.lang.String key)
Extracts a value from an mapjava.util.Collection<java.lang.String>
getPropertyKeys(java.lang.Object obj)
Returns the keys from the given objectboolean
isArray(java.lang.Object obj)
checks if object is an arrayboolean
isMap(java.lang.Object obj)
checks if object is a map (i.e.int
length(java.lang.Object obj)
Get the length of an json array, json object or a json stringjava.lang.Object
parse(java.io.InputStream jsonStream, java.lang.String charset)
Parse the given json stringjava.lang.Object
parse(java.lang.String json)
Parse the given json stringvoid
removeProperty(java.lang.Object obj, java.lang.Object key)
Removes a value in an object or arrayvoid
setArrayIndex(java.lang.Object array, int idx, java.lang.Object newValue)
Sets a value in an array.void
setProperty(java.lang.Object obj, java.lang.Object key, java.lang.Object value)
Sets a value in an objectjava.lang.Iterable<?>
toIterable(java.lang.Object obj)
Converts given array to anIterable
java.lang.String
toJson(java.lang.Object obj)
Convert given json object to a json stringjava.lang.Object
unwrap(java.lang.Object obj)
Extracts a value from a wrapper object.
-
-
-
Method Detail
-
parse
java.lang.Object parse(java.lang.String json) throws InvalidJsonException
Parse the given json string- Parameters:
json
- json string to parse- Returns:
- Object representation of json
- Throws:
InvalidJsonException
-
parse
java.lang.Object parse(java.io.InputStream jsonStream, java.lang.String charset) throws InvalidJsonException
Parse the given json string- Parameters:
jsonStream
- input stream to parsecharset
- charset to use- Returns:
- Object representation of json
- Throws:
InvalidJsonException
-
toJson
java.lang.String toJson(java.lang.Object obj)
Convert given json object to a json string- Parameters:
obj
- object to transform- Returns:
- json representation of object
-
createArray
java.lang.Object createArray()
Creates a provider specific json array- Returns:
- new array
-
createMap
java.lang.Object createMap()
Creates a provider specific json object- Returns:
- new object
-
isArray
boolean isArray(java.lang.Object obj)
checks if object is an array- Parameters:
obj
- object to check- Returns:
- true if obj is an array
-
length
int length(java.lang.Object obj)
Get the length of an json array, json object or a json string- Parameters:
obj
- an array or object or a string- Returns:
- the number of entries in the array or object
-
toIterable
java.lang.Iterable<?> toIterable(java.lang.Object obj)
Converts given array to anIterable
- Parameters:
obj
- an array- Returns:
- an Iterable that iterates over the entries of an array
-
getPropertyKeys
java.util.Collection<java.lang.String> getPropertyKeys(java.lang.Object obj)
Returns the keys from the given object- Parameters:
obj
- an object- Returns:
- the keys for an object
-
getArrayIndex
java.lang.Object getArrayIndex(java.lang.Object obj, int idx)
Extracts a value from an array anw unwraps provider specific data type- Parameters:
obj
- an arrayidx
- index- Returns:
- the entry at the given index
-
getArrayIndex
@Deprecated java.lang.Object getArrayIndex(java.lang.Object obj, int idx, boolean unwrap)
Deprecated.Extracts a value from an array- Parameters:
obj
- an arrayidx
- indexunwrap
- should provider specific data type be unwrapped- Returns:
- the entry at the given index
-
setArrayIndex
void setArrayIndex(java.lang.Object array, int idx, java.lang.Object newValue)
Sets a value in an array. If the array is too small, the provider is supposed to enlarge it.- Parameters:
array
- an arrayidx
- indexnewValue
- the new value
-
getMapValue
java.lang.Object getMapValue(java.lang.Object obj, java.lang.String key)
Extracts a value from an map- Parameters:
obj
- a mapkey
- property key- Returns:
- the map entry or
UNDEFINED
for missing properties
-
setProperty
void setProperty(java.lang.Object obj, java.lang.Object key, java.lang.Object value)
Sets a value in an object- Parameters:
obj
- an objectkey
- a String keyvalue
- the value to set
-
removeProperty
void removeProperty(java.lang.Object obj, java.lang.Object key)
Removes a value in an object or array- Parameters:
obj
- an array or an objectkey
- a String key or a numerical index to remove
-
isMap
boolean isMap(java.lang.Object obj)
checks if object is a map (i.e. no array)- Parameters:
obj
- object to check- Returns:
- true if the object is a map
-
unwrap
java.lang.Object unwrap(java.lang.Object obj)
Extracts a value from a wrapper object. For JSON providers that to not wrap values, this will usually be the object itself.- Parameters:
obj
- a value holder object- Returns:
- the unwrapped value.
-
-