Class JSONCompareUtil
java.lang.Object
org.skyscreamer.jsonassert.comparator.JSONCompareUtil
Utility class that contains Json manipulation methods.
-
Method Summary
Modifier and TypeMethodDescriptionstatic boolean
allJSONArrays
(org.json.JSONArray array) Returns whether all elements inarray
areJSONArray
instances.static boolean
allJSONObjects
(org.json.JSONArray array) Returns whether all elements inarray
areJSONObject
instances.static boolean
allSimpleValues
(org.json.JSONArray array) Returns whether all of the elements in the given array are simple values.arrayOfJsonObjectToMap
(org.json.JSONArray array, String uniqueKey) Converts the providedJSONArray
to a Map ofJSONObject
s where the key of each object is the value atuniqueKey
in each object.static String
findUniqueKey
(org.json.JSONArray expected) Searches for the unique key of theexpected
JSON array.static String
formatUniqueKey
(String key, String uniqueKey, Object value) getCardinalityMap
(Collection<T> coll) Creates a cardinality map fromcoll
.getKeys
(org.json.JSONObject jsonObject) Collects all keys injsonObject
.static Object
getObjectOrNull
(org.json.JSONArray jsonArray, int index) Returns the value present in the given index position.static boolean
Returns whether the given object is a simple value: notJSONObject
and notJSONArray
.static boolean
isUsableAsUniqueKey
(String candidate, org.json.JSONArray array) Looks to see if candidate field is a possible unique key across a array of objects.jsonArrayToList
(org.json.JSONArray expected) Converts the givenJSONArray
to a list ofObject
s.static String
-
Method Details
-
arrayOfJsonObjectToMap
public static Map<Object,org.json.JSONObject> arrayOfJsonObjectToMap(org.json.JSONArray array, String uniqueKey) Converts the providedJSONArray
to a Map ofJSONObject
s where the key of each object is the value atuniqueKey
in each object.- Parameters:
array
- the JSON array to convertuniqueKey
- the key to map the JSON objects to- Returns:
- the map of
JSONObject
s fromarray
-
findUniqueKey
Searches for the unique key of theexpected
JSON array.- Parameters:
expected
- the array to find the unique key of- Returns:
- the unique key if there's any, otherwise null
-
isUsableAsUniqueKey
Looks to see if candidate field is a possible unique key across a array of objects. Returns true IFF:
- array is an array of JSONObject
- candidate is a top-level field in each of of the objects in the array
- candidate is a simple value (not JSONObject or JSONArray)
- candidate is unique across all elements in the array
- Parameters:
candidate
- is usable as a unique key if every element in thearray
- is a JSONObject having that key, and no two values are the same.- Returns:
- true if the candidate can work as a unique id across array
-
jsonArrayToList
Converts the givenJSONArray
to a list ofObject
s.- Parameters:
expected
- the JSON array to convert- Returns:
- the list of objects from the
expected
array
-
getObjectOrNull
Returns the value present in the given index position. If null value is present, it will return null- Parameters:
jsonArray
- the JSON array to get value fromindex
- index of object to retrieve- Returns:
- value at the given index position
-
allSimpleValues
public static boolean allSimpleValues(org.json.JSONArray array) Returns whether all of the elements in the given array are simple values.- Parameters:
array
- the JSON array to iterate through on- Returns:
- true if all the elements in
array
are simple values - See Also:
-
isSimpleValue
Returns whether the given object is a simple value: notJSONObject
and notJSONArray
.- Parameters:
o
- the object to inspect- Returns:
- true if
o
is a simple value
-
allJSONObjects
public static boolean allJSONObjects(org.json.JSONArray array) Returns whether all elements inarray
areJSONObject
instances.- Parameters:
array
- the array to inspect- Returns:
- true if all the elements in the given array are JSONObjects
-
allJSONArrays
public static boolean allJSONArrays(org.json.JSONArray array) Returns whether all elements inarray
areJSONArray
instances.- Parameters:
array
- the array to inspect- Returns:
- true if all the elements in the given array are JSONArrays
-
getKeys
Collects all keys injsonObject
.- Parameters:
jsonObject
- theJSONObject
to get the keys of- Returns:
- the set of keys
-
qualify
-
formatUniqueKey
-
getCardinalityMap
Creates a cardinality map fromcoll
.- Type Parameters:
T
- the type of elements in the input collection- Parameters:
coll
- the collection of items to convert- Returns:
- the cardinality map
-