Class JSONCompareUtil
java.lang.Object
org.skyscreamer.jsonassert.comparator.JSONCompareUtil
Utility class that contains Json manipulation methods.
-
Method Summary
Modifier and TypeMethodDescriptionstatic booleanallJSONArrays(org.json.JSONArray array) Returns whether all elements inarrayareJSONArrayinstances.static booleanallJSONObjects(org.json.JSONArray array) Returns whether all elements inarrayareJSONObjectinstances.static booleanallSimpleValues(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 providedJSONArrayto a Map ofJSONObjects where the key of each object is the value atuniqueKeyin each object.static StringfindUniqueKey(org.json.JSONArray expected) Searches for the unique key of theexpectedJSON array.static StringformatUniqueKey(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 ObjectgetObjectOrNull(org.json.JSONArray jsonArray, int index) Returns the value present in the given index position.static booleanReturns whether the given object is a simple value: notJSONObjectand notJSONArray.static booleanisUsableAsUniqueKey(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 givenJSONArrayto a list ofObjects.static String
-
Method Details
-
arrayOfJsonObjectToMap
public static Map<Object,org.json.JSONObject> arrayOfJsonObjectToMap(org.json.JSONArray array, String uniqueKey) Converts the providedJSONArrayto a Map ofJSONObjects where the key of each object is the value atuniqueKeyin each object.- Parameters:
array- the JSON array to convertuniqueKey- the key to map the JSON objects to- Returns:
- the map of
JSONObjects fromarray
-
findUniqueKey
Searches for the unique key of theexpectedJSON 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 givenJSONArrayto a list ofObjects.- Parameters:
expected- the JSON array to convert- Returns:
- the list of objects from the
expectedarray
-
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
arrayare simple values - See Also:
-
isSimpleValue
Returns whether the given object is a simple value: notJSONObjectand notJSONArray.- Parameters:
o- the object to inspect- Returns:
- true if
ois a simple value
-
allJSONObjects
public static boolean allJSONObjects(org.json.JSONArray array) Returns whether all elements inarrayareJSONObjectinstances.- 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 inarrayareJSONArrayinstances.- 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- theJSONObjectto 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
-